1. 程式人生 > >大資料(十)

大資料(十)

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