peppa pig服裝_Pig編程指南
本文關(guān)鍵詞:Pig編程指南,由筆耕文化傳播整理發(fā)布。
內(nèi)容概要
《Pig編程指南》不僅為初學(xué)者講解ApachePig的基礎(chǔ)知識(shí),同時(shí)也向有一定使用經(jīng)驗(yàn)的高級(jí)用戶介紹更加綜合全面的Pig重要特性,如PigLatin腳本語言、控制臺(tái)shell交互命令以及用于對(duì)Pig進(jìn)行拓展的用戶自定義函數(shù)(UDF)等。當(dāng)讀者有大數(shù)據(jù)處理需求時(shí),提供了如何更高效地使用Pig來完成需求的方法。
作者簡介
alan gates 是將PIG從雅虎的研究項(xiàng)目轉(zhuǎn)化成一個(gè)成功的Apache開源項(xiàng)目的工程師團(tuán)隊(duì)中最早的成員。他負(fù)責(zé)監(jiān)督Pig的實(shí)現(xiàn)、編程接口和總體設(shè)計(jì)。
書籍目錄
第1章初識(shí)Pig 1.1Pig是什么? 1.1.1Pig是基于Hadoop的 1.1.2PigLatin,一種并行數(shù)據(jù)流語言 1.1.3Pig的用途 1.1.4Pig的設(shè)計(jì)思想 1.2Pig發(fā)展簡史 第2章安裝和運(yùn)行Pig 2.1下載和安裝Pig 2.1.1從Apache下載Pig軟件包 2.1.2從Cloudera下載Pig 2.1.3使用Maven下載Pig 2.1.4下載Pig源碼 2.2運(yùn)行Pig 2.2.1本地單機(jī)運(yùn)行Pig 2.2.2在Hadoop集群上運(yùn)行Pig 2.2.3在云服務(wù)上運(yùn)行Pig 2.2.4命令行使用以及配置選項(xiàng)介紹 2.2.5返回碼 第3章命令行交互工具Grunt 3.1在Grunt中輸入Pig Latin腳本 3.2在Grunt中使用HDFS命令 3.3在Grunt中控制Pig 第4章Pig數(shù)據(jù)模型 4.1數(shù)據(jù)類型 4.1.1基本類型 4.1.2復(fù)雜類型 4.1.3NULL值 4.2模式 第5章PigLatin介紹 5.1基礎(chǔ)知識(shí) 5.1.1大小寫敏感 5.1.2注釋 5.2輸入和輸出 5.2.1加載 5.2.2存儲(chǔ) 5.2.3輸出 5.3關(guān)系操作 5.3.1foreach 5.3.2Filter 5.3.3Group 5.3.4Orderby 5.3.5Distinct 5.3.6Join 5.3.7Limit 5.3.8Sample 5.3.9Parallel 5.4用戶自定義函數(shù)UDF 5.4.1注冊UDF 5.4.2define命令和UDF 5.4.3調(diào)用靜態(tài)Java函數(shù) 第6章PigLatin高級(jí)應(yīng)用 6.1高級(jí)關(guān)系操作 6.1.1foreach的高級(jí)功能 6.1.2使用不同的Join實(shí)現(xiàn)方法 6.1.3cogroup 6.1.4union 6.1.5cross 6.2在Pig中集成遺留代碼和Map Reduce程序 6.2.1stream 6.2.2mapreduce 6.3非線性數(shù)據(jù)流 6.4執(zhí)行過程控制 6.4.1set 6.4.2設(shè)置分割器 6.5PigLatin預(yù)處理器 6.5.1參數(shù)傳入 6.5.2宏 6.5.3包含其他的Pig Latin腳本 第7章開發(fā)和測試Pig Latin腳本 7.1開發(fā)工具 7.1.1語法高亮和語法檢查 7.1.2describe 7.1.3explain 7.1.4illustrate 7.1.5Pig統(tǒng)計(jì)信息 7.1.6Map Reduce任務(wù)運(yùn)行狀態(tài)信息 7.1.7調(diào)試技巧 7.2使用Pig Unit測試用戶的腳本 第8章讓Pig飛起來 8.1編寫優(yōu)質(zhì)的腳本 8.1.1盡早地并經(jīng)常地進(jìn)行過濾 8.1.2盡早地并經(jīng)常地進(jìn)行映射 8.1.3正確并合理使用join 8.1.4適當(dāng)?shù)那闆r下使用multiquery 8.1.5選擇正確的數(shù)據(jù)類型 8.1.6選擇合適的并行值 8.2編寫優(yōu)質(zhì)的UDF 8.3調(diào)整Pig和Hadoop 8.4對(duì)計(jì)算中間結(jié)果進(jìn)行壓縮 8.5數(shù)據(jù)層優(yōu)化 8.6垃圾數(shù)據(jù)處理 第9章在Python中嵌入Pig Latin腳本 9.1編譯 9.2綁定 9.3運(yùn)行 9.4工具方法 第10章編寫評(píng)估函數(shù)和過濾函數(shù) 10.1使用Java編寫評(píng)估函數(shù) 10.1.1UDF將在哪里執(zhí)行 10.1.2求值函數(shù)基本概念 10.1.3輸入和輸出模式 10.1.4錯(cuò)誤處理和處理過程信息報(bào)告 10.1.5構(gòu)造器和將數(shù)據(jù)從前端傳送到后端 10.1.6重載UDF 10.1.7運(yùn)算函數(shù)的內(nèi)存問題 10.2代數(shù)運(yùn)算接口 10.3累加器接口 10.4使用Python寫UDF 10.5書寫過濾器函數(shù) 第11章編寫加載函數(shù)和存儲(chǔ)函數(shù) 11.1加載函數(shù) 11.1.1前端執(zhí)行計(jì)劃函數(shù) 11.1.2從前端調(diào)用傳遞信息到后端調(diào)用 11.1.3后端數(shù)據(jù)讀取 11.1.4可擴(kuò)展的加載函數(shù)接口 11.2存儲(chǔ)函數(shù) 11.2.1存儲(chǔ)函數(shù)前端執(zhí)行計(jì)劃 11.2.2存儲(chǔ)函數(shù)和UDF Context 11.2.3寫數(shù)據(jù) 11.2.4任務(wù)失敗后數(shù)據(jù)的清理 11.2.5存儲(chǔ)元數(shù)據(jù)信息 第12章Pig和其他Hadoop社區(qū)的成員 12.1Pig和Hive 12.2Cascading 12.3NoSQL數(shù)據(jù)庫 12.3.1HBase 12.3.2Cassandra 12.4Hadoop中的元數(shù)據(jù) 附錄A內(nèi)置的用戶自定義函數(shù)和Piggybank 內(nèi)置UDF 內(nèi)置加載函數(shù)和存儲(chǔ)函數(shù) 內(nèi)置求值函數(shù)和過濾函數(shù) Piggybank 附錄BHadoop綜述 Map Reduce Map階段 Combiner階段 Shuffle階段 Reduce階段 輸出階段 分布式緩存 故障處理 HDFS 作者介紹 書末說明
章節(jié)摘錄
版權(quán)頁: bytearray 一團(tuán)或一組字節(jié)。bytearray是通過封裝了Java的byte[]的DataByteArray Java類來實(shí)現(xiàn)的。沒有辦法去定義一個(gè)bytearray常量。 4.1.2復(fù)雜類型 Pig有3個(gè)復(fù)雜數(shù)據(jù)類型:map、mple和bag。這3種類型都可以包含任意類型的數(shù)據(jù),包括其他復(fù)雜類型的數(shù)據(jù)。所以如果有一個(gè)map,它的值字段是bag類型,這個(gè)bag包含了一個(gè)tuple,而該mple的字段是map,這種情況是可以存在的。 Map Pig中的map是一種chararray和數(shù)據(jù)元素之間的鍵值對(duì)映射,其中數(shù)據(jù)元素可以是任意的Pig類型,包括復(fù)雜類型。其中的chararray被稱為鍵(key),,它作為查找對(duì)應(yīng)數(shù)據(jù)元素的索引,相應(yīng)的數(shù)據(jù)元素被稱為值(value)。 因?yàn)镻ig不知道值的類型,那么它就會(huì)假設(shè)值為bytearray類型,盡管實(shí)際的值可能為其他類型。如果用戶想知道真實(shí)的數(shù)據(jù)類型是什么(或者用戶想讓它成為什么數(shù)據(jù)類型),用戶可以對(duì)它進(jìn)行類型轉(zhuǎn)換,相關(guān)信息請(qǐng)查看4.2.1節(jié)“類型轉(zhuǎn)換”。用戶如果沒有顯式地對(duì)值進(jìn)行類型轉(zhuǎn)換,那么Pig將會(huì)根據(jù)用戶在腳本中如何使用這個(gè)值將其轉(zhuǎn)換成一個(gè)最有可能的類型。如果值是bytearray外的其他類型,那么Pig會(huì)在運(yùn)行時(shí)獲得數(shù)據(jù)類型然后進(jìn)行處理。關(guān)于Pig如何處理未知數(shù)據(jù)類型的更多信息請(qǐng)查看4.2節(jié)“模式”。 默認(rèn)情況下并不要求一個(gè)map中的所有值具有相同的數(shù)據(jù)類型。一個(gè)map包含兩個(gè)鍵:name和age,其中name對(duì)應(yīng)的值是chararray類型,而age對(duì)應(yīng)的值是int類型,像這種隋況是合法的。從Pig 0.9版本開始,map可以將它的值聲明為具有相同的數(shù)據(jù)類型。這個(gè)新功能是非常有幫助的,因?yàn)槿绻脩羰孪染椭續(xù)ap中所有的值都是具有相同的數(shù)據(jù)類型的話,那么就可以避免進(jìn)行類型轉(zhuǎn)換,而且Pig也就無需在執(zhí)行階段運(yùn)行時(shí)對(duì)數(shù)據(jù)類型進(jìn)行控制。 map常量通過方括號(hào)來劃定map結(jié)構(gòu),鍵和值間是一個(gè)#號(hào),鍵值對(duì)之間使用逗號(hào)分隔。例如:['name'#'bob','age'#55】將創(chuàng)建一個(gè)包含“name”和“age”兩個(gè)鍵的map。第一個(gè)值是chararray類型的,第二個(gè)值是一個(gè)整數(shù)。
編輯推薦
Apache Pig 是一個(gè)高級(jí)過程語言,適合于使用 Hadoop 和 MapReduce 平臺(tái)來查詢大型半結(jié)構(gòu)化數(shù)據(jù)集。通過允許對(duì)分布式數(shù)據(jù)集進(jìn)行類似 SQL 的查詢,Pig 可以簡化 Hadoop 的使用。本文不僅為初學(xué)者講授,Pig 的基礎(chǔ)知識(shí),同時(shí)還向有經(jīng)驗(yàn)的用戶更加全面的介紹Pig的重點(diǎn)特性。 通過學(xué)習(xí)本書,你將能夠身日了解數(shù)據(jù)模型,包括基本數(shù)據(jù)和復(fù)雜數(shù)據(jù)類型。掌握更高效的在Hadoop集群中運(yùn)行腳本的方法和技巧。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
Pig編程指南 PDF格式下載
本文關(guān)鍵詞:Pig編程指南,由筆耕文化傳播整理發(fā)布。
本文編號(hào):147583
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/147583.html