hadoop pig(7)

Pigjava

1. piglinux

pig 能夠看作hadoop的客戶端軟件,能夠鏈接到hadoop集羣進行數據分析工做shell

pig方便不熟悉java的用戶,使用一種較爲簡便的相似於SQL的面向數據流的語言pig latin進行數據處理bash

pig latin能夠進行排序,過濾,求和,分組,關聯等經常使用操做,還能夠自定義函數,這是一種面向數據分析處理的輕量級腳本語言函數

pig能夠看作是pig latin到map-reduce的映射器grunt

2.安裝pigoop

(1)下載並解壓pig安裝包測試

(2)編輯環境變量操作系統

.bash_profile linux系統的環境變量PATH .net

JAVA_HOME=/usr java安裝目錄的上級目錄

clip_image002

(3)從新登陸使環境變量生效

使用set命令檢查環境變量

(4)進入grunt shell

pig -x local 以本地模式運行(鏈接的並非hadoop集羣,僅僅是本地的linux文件系統)

3.pig 的工做模式

本地模式:全部文件和執行過程都在本地,通常用於測試程序

Mapreduce模式:實際工做模式

4.配置pig的map-reduce模式(劉鵬)

(1)設置PATH,增長指向hadoop/bin

(2)設置PIG_CLASSPATH環境變量

PIG_CLASSPATH=/home/grid/hadoop-1.2.1/conf/ 指向hadoop的配置文件,目的是找到hadoop集羣

clip_image004

(3)修改hosts文件

clip_image006

(4)啓動grunt shell

pig 以map-reduce方式啓動(要鏈接到所指定的hadoop集羣,PIG_CLASSPATH指定)

clip_image008

5.pig 的運行方法

(1)腳本

(2)Grunt

自動補全(命令)

autocomplete文件(pig的安裝目錄,conf目錄下,能夠把須要補全的單詞放入其中,大小寫敏感)

Eclipse插件PigPen

除了在grunt 這種shell運行pig命令語言外,還何以在Eclipse底下來運行,(能夠在網上查找資料安裝運行PigPen插件)

(3)嵌入式

6.grunt shell命令

clip_image010

copyTolocal test1.txt ttt 把hadoop文件系統中文件拷貝到本地文件系統中

ls cd cat

clip_image012

執行操做系統命令 :sh

clip_image014

7.pig數據模型

Bag:表

Tuple:表,記錄

Field:屬性

Pig不要求同一個bag裏面的各個tuple有相同數量或相同類型的field

8.pig latin經常使用語句(權威指南p323)
load: 支出載入數據的方法

Foreach:逐行掃描進行某種處理

Filter:過濾行

dump 把結果顯示到屏幕

store 把結果保存到文件

9.UDF

支持使用Java ,Python, Javascript三種語言編寫UDF

Java自定義函數較爲成熟,其餘兩種功能還有限

相關文章
相關標籤/搜索