1.pig的两种运行方式:
Local 模式和 MapReduce 模式。当 Pig 在 Local 模式运行的时候, Pig 将只访问本地一台主机;当 Pig 在 MapReduce 模式运行的时候, Pig 将访问一个 Hadoop 集群。
以local模式运行:pig -x local test.pig
以MapReduce模式运行:pig -x mapreduce test.pig MapReduce模式运行可以直接简写成:pig test.pig
关于pig的运行方式可以参见: http://blog.youkuaiyun.com/zhu_xun/article/details/16820023
2.声明变量:
(1).使用declare声明变量:eg:%declare src = "....."
(2).使用default声明变量:eg:%default src="......."
这样,就可以通过$src来使用变量
注意:
(1)
在pig里定义了一个default变量,用来表示加载数据的路径,那么如果想在执行pig命令时传入该参数,则用:pig -x local -param src=*****
(2)声明的变量只能表示加载数据的路径,而不能在其他地方使用。对于这一点,我很无语,不明白pig为什么会阉割掉这个小功能。假如,有一个变量在计算时要被使用N遍,那么你只能手动的输入N遍。所以严格地来说,pig中是无法使用变量的。
3.表连接:
join (inner join) 可以连接多张表
eg:join A by id,B by id,C by id;
而outer join一次只能连接两张表,且左面的表为驱动表,右面的表为匹配表。
eg:join A by id left outer,B by id;
未完待续。。。。。