大數據(十) - Pig

jopen 8年前發布 | 8K 次閱讀 分布式/云計算/大數據

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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!