大資料(十)
阿新 • • 發佈:2019-01-06
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