Pig是什么
Hadoop上的数据流执行引擎(由Yahoo!开源)
利用HDFS存储数据
利用MapReduce处理数据
使用Pig Latin语言表达数据流
Pig Latin是一种新的数据流语言
Pig将Pig Latin语句转化为MapReduce作业
Pig Latin比MapReduce程序更易编写
直接产生动机:让MapReduce用起来更简单
与Hive一致
Pig与Hive异同
相同点
运行在Hadoop之上;
设计动机是为用户提供一种更简单的Hadoop上数据分析方式;
解决相同问题的两个工具(yahoo!vs facebook)。
不同点
Hive要求待处理数据必须有Schema,而Pig则无此要求;
Hive有Server需要安装,Pig无Server不需要安装;
编程语言不同,SQL与Pig Latin
SQL:得到什么样的结果,Pig Latin:如何处理数据
SQL:过程化语言,Pig Latin:数据流语言
运行Pig Latin
本地模式
pig_path/bin/pig –x local wordount.pig
集群模式
PIG_CLASSPATH=hadoop_conf_dir pig_path/bin/pig wordcount.pig
其他使用方式
pig -e fs –copyFromLocal local_path hdfs_path
pig hdfs://nn.mydomain.com:9020/myscripts/script.pig
pig –Dmapreduce.task.profile=true wordount.pig
pig –P myproperty.properties wordcount.pig
|
|