peppa pig服裝_Pig編程指南
本文關(guān)鍵詞:Pig編程指南,由筆耕文化傳播整理發(fā)布。
內(nèi)容概要
《Pig編程指南》不僅為初學(xué)者講解ApachePig的基礎(chǔ)知識,同時也向有一定使用經(jīng)驗的高級用戶介紹更加綜合全面的Pig重要特性,如PigLatin腳本語言、控制臺shell交互命令以及用于對Pig進行拓展的用戶自定義函數(shù)(UDF)等。當(dāng)讀者有大數(shù)據(jù)處理需求時,提供了如何更高效地使用Pig來完成需求的方法。
作者簡介
alan gates 是將PIG從雅虎的研究項目轉(zhuǎn)化成一個成功的Apache開源項目的工程師團隊中最早的成員。他負責(zé)監(jiān)督Pig的實現(xiàn)、編程接口和總體設(shè)計。
書籍目錄
第1章初識Pig 1.1Pig是什么? 1.1.1Pig是基于Hadoop的 1.1.2PigLatin,一種并行數(shù)據(jù)流語言 1.1.3Pig的用途 1.1.4Pig的設(shè)計思想 1.2Pig發(fā)展簡史 第2章安裝和運行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運行Pig 2.2.1本地單機運行Pig 2.2.2在Hadoop集群上運行Pig 2.2.3在云服務(wù)上運行Pig 2.2.4命令行使用以及配置選項介紹 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ǔ)知識 5.1.1大小寫敏感 5.1.2注釋 5.2輸入和輸出 5.2.1加載 5.2.2存儲 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高級應(yīng)用 6.1高級關(guān)系操作 6.1.1foreach的高級功能 6.1.2使用不同的Join實現(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)計信息 7.1.6Map Reduce任務(wù)運行狀態(tài)信息 7.1.7調(diào)試技巧 7.2使用Pig Unit測試用戶的腳本 第8章讓Pig飛起來 8.1編寫優(yōu)質(zhì)的腳本 8.1.1盡早地并經(jīng)常地進行過濾 8.1.2盡早地并經(jīng)常地進行映射 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對計算中間結(jié)果進行壓縮 8.5數(shù)據(jù)層優(yōu)化 8.6垃圾數(shù)據(jù)處理 第9章在Python中嵌入Pig Latin腳本 9.1編譯 9.2綁定 9.3運行 9.4工具方法 第10章編寫評估函數(shù)和過濾函數(shù) 10.1使用Java編寫評估函數(shù) 10.1.1UDF將在哪里執(zhí)行 10.1.2求值函數(shù)基本概念 10.1.3輸入和輸出模式 10.1.4錯誤處理和處理過程信息報告 10.1.5構(gòu)造器和將數(shù)據(jù)從前端傳送到后端 10.1.6重載UDF 10.1.7運算函數(shù)的內(nèi)存問題 10.2代數(shù)運算接口 10.3累加器接口 10.4使用Python寫UDF 10.5書寫過濾器函數(shù) 第11章編寫加載函數(shù)和存儲函數(shù) 11.1加載函數(shù) 11.1.1前端執(zhí)行計劃函數(shù) 11.1.2從前端調(diào)用傳遞信息到后端調(diào)用 11.1.3后端數(shù)據(jù)讀取 11.1.4可擴展的加載函數(shù)接口 11.2存儲函數(shù) 11.2.1存儲函數(shù)前端執(zhí)行計劃 11.2.2存儲函數(shù)和UDF Context 11.2.3寫數(shù)據(jù) 11.2.4任務(wù)失敗后數(shù)據(jù)的清理 11.2.5存儲元數(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ù)和存儲函數(shù) 內(nèi)置求值函數(shù)和過濾函數(shù) Piggybank 附錄BHadoop綜述 Map Reduce Map階段 Combiner階段 Shuffle階段 Reduce階段 輸出階段 分布式緩存 故障處理 HDFS 作者介紹 書末說明
章節(jié)摘錄
版權(quán)頁: bytearray 一團或一組字節(jié)。bytearray是通過封裝了Java的byte[]的DataByteArray Java類來實現(xiàn)的。沒有辦法去定義一個bytearray常量。 4.1.2復(fù)雜類型 Pig有3個復(fù)雜數(shù)據(jù)類型:map、mple和bag。這3種類型都可以包含任意類型的數(shù)據(jù),包括其他復(fù)雜類型的數(shù)據(jù)。所以如果有一個map,它的值字段是bag類型,這個bag包含了一個tuple,而該mple的字段是map,這種情況是可以存在的。 Map Pig中的map是一種chararray和數(shù)據(jù)元素之間的鍵值對映射,其中數(shù)據(jù)元素可以是任意的Pig類型,包括復(fù)雜類型。其中的chararray被稱為鍵(key),,它作為查找對應(yīng)數(shù)據(jù)元素的索引,相應(yīng)的數(shù)據(jù)元素被稱為值(value)。 因為Pig不知道值的類型,那么它就會假設(shè)值為bytearray類型,盡管實際的值可能為其他類型。如果用戶想知道真實的數(shù)據(jù)類型是什么(或者用戶想讓它成為什么數(shù)據(jù)類型),用戶可以對它進行類型轉(zhuǎn)換,相關(guān)信息請查看4.2.1節(jié)“類型轉(zhuǎn)換”。用戶如果沒有顯式地對值進行類型轉(zhuǎn)換,那么Pig將會根據(jù)用戶在腳本中如何使用這個值將其轉(zhuǎn)換成一個最有可能的類型。如果值是bytearray外的其他類型,那么Pig會在運行時獲得數(shù)據(jù)類型然后進行處理。關(guān)于Pig如何處理未知數(shù)據(jù)類型的更多信息請查看4.2節(jié)“模式”。 默認情況下并不要求一個map中的所有值具有相同的數(shù)據(jù)類型。一個map包含兩個鍵:name和age,其中name對應(yīng)的值是chararray類型,而age對應(yīng)的值是int類型,像這種隋況是合法的。從Pig 0.9版本開始,map可以將它的值聲明為具有相同的數(shù)據(jù)類型。這個新功能是非常有幫助的,因為如果用戶事先就知道m(xù)ap中所有的值都是具有相同的數(shù)據(jù)類型的話,那么就可以避免進行類型轉(zhuǎn)換,而且Pig也就無需在執(zhí)行階段運行時對數(shù)據(jù)類型進行控制。 map常量通過方括號來劃定map結(jié)構(gòu),鍵和值間是一個#號,鍵值對之間使用逗號分隔。例如:['name'#'bob','age'#55】將創(chuàng)建一個包含“name”和“age”兩個鍵的map。第一個值是chararray類型的,第二個值是一個整數(shù)。
編輯推薦
Apache Pig 是一個高級過程語言,適合于使用 Hadoop 和 MapReduce 平臺來查詢大型半結(jié)構(gòu)化數(shù)據(jù)集。通過允許對分布式數(shù)據(jù)集進行類似 SQL 的查詢,Pig 可以簡化 Hadoop 的使用。本文不僅為初學(xué)者講授,Pig 的基礎(chǔ)知識,同時還向有經(jīng)驗的用戶更加全面的介紹Pig的重點特性。 通過學(xué)習(xí)本書,你將能夠身日了解數(shù)據(jù)模型,包括基本數(shù)據(jù)和復(fù)雜數(shù)據(jù)類型。掌握更高效的在Hadoop集群中運行腳本的方法和技巧。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
Pig編程指南 PDF格式下載
本文關(guān)鍵詞:Pig編程指南,由筆耕文化傳播整理發(fā)布。
本文編號:147583
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/147583.html