日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Hadoop系列三:Hadoop之Pig篇

發布時間:2025/4/16 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop系列三:Hadoop之Pig篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Pig安裝和運行

Pig包括兩部分:

—用于描述數據流的語言,稱為Pig Latin。

—用于執行PigLatin程序的執行環境,當前有兩個環境:單JVM中的本地執行環境和Hadoop集群上的分布式執行環境。

?Pig內部,每個操作或變換是對輸入進行數據處理,然后產生輸出結果,這些變換操作被轉換成一系列MapReduce作業,Pig讓程序員不需要知道這些轉換具體是如何進行的,這樣工程師可以將精力集中在數據上,而非執行的細節上。

1)下載解壓

單節點Ubuntu,主機名hp,已部署Hadoop單節點偽分布。

http://pig.apache.org/下載pig-0.15.0.tar.gz解壓/home/hp下。

2)環境配置

$sudo gedit/etc/profile

添加如下:

#Hadoop

exportHADOOP_HOME=/home/hp/hadoop

export PIG_HOME=/home/hp/pig

export PIG_CLASSPATH=${HADOOP_HOME}/conf?? --mapreduce模式才需要配置

exportPATH=$PATH:${HADOOP_HOME}/bin:${PIG_HOME}/bin

3)本地模式:

Grunt是Pig的外殼程序(shell)。本地模式下,Pig運行在單個JVM中,訪問本地文件系統,該模式用于測試或處理小規模數據集。

$pig –Xlocal

4)Mapreduce模式:

在MapReduce模式下,Pig將查詢翻譯為MapReduce作業,然后在Hadoop集群上執行。

$pig 進入gruntshell?

grunt>help查看命令幫助

grunt>quit退出

grunt>shjps 執行操作系統命令jps

5)測試

運行示例:把Ubuntu下的/etc/passwd文件的第一列提取出來輸出,用MapReduce模式跑。

?? 啟動Hadoop集群,$sbin/start-dfs.sh和$sbin/start-yarn.sh,使用jps查看進程。

?? 先把/etc/passwd文件put到hadoop的hdfs的input下:

$hadoopfs -put /etc/passwd /input

查看是否已上傳到input目錄下$hadoop fs –ls /input

?? 進入Pigshell,運行命令,以':'分隔提取A,然后把A的第一列放入B,dump打出B:

$pig

grunt>A = load '/input/passwd' using PigStorage(':'); //注意等號兩邊要有空格,注意passwd路徑

grunt>B = foreach A generate $0 as id;???????

grunt>dump B;

?????? 總結:主要在和hadoop結合配置上,grunt命令需要深入學習。Pig并不適合所有的數據處理任務,和MapReduce一樣,它是為數據批處理而設計的,如果想執行的查詢只涉及一個大型數據集的一小部分數據,Pig的實現不會很好,因為它要掃描整個數據集或其中很大一部分。

執行Pig程序的方法:

l?? 腳本:Pig可以運行包含Pig命令的腳本文件,例如,pig script.pig,對于很短的腳本可以通過使用-e選項直接在命令行中輸入腳本字符串。

l?? Grunt:Pigshell,就是上文的運行模式

l ?嵌入式方法:也可以在Java中運行Pig程序,和使用JDBC運行SQL程序類似。Pig其實是對Java的Mapreduce的封裝,進一步的抽象,運行的也是java程序,并在此基礎上提供其他特性。

總結

以上是生活随笔為你收集整理的Hadoop系列三:Hadoop之Pig篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。