大数据(十) - Pig

jopen 9年前

Pig是什么
        Hadoop上的 数据流执行引擎(由Yahoo!开源)
                利用HDFS存储数据
                利用MapReduce处理数据
        使用Pig Latin语言表达数据流
                Pig Latin是一种新的数据流语言
                Pig将Pig Latin语句转化为MapReduce作业
                Pig Latin比MapReduce程序更易编写
        直接产生动机:让MapReduce用起来更简单
                与Hive一致

Pig与Hive异同
        相同点
                运行在Hadoop之上;
                设计动机是为用户提供一种更简单的Hadoop上数据分析方式;
                解决相同问题的两个工具(yahoo!vs 非死book)。
        不同点
                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

来自: http://blog.csdn.net//matthewei6/article/details/50540173