




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
分組和連接Join運算符(上)2學(xué)習(xí)任務(wù)ApachePigJoin運算符JOIN運算符用于組合來自兩個或多個關(guān)系的記錄。在執(zhí)行連接操作時,我們從每個關(guān)系中聲明一個(或一組)元組作為key。當(dāng)這些key匹配時,兩個特定的元組匹配,否則記錄將被丟棄。連接可以是以下類型:Self-joinInner-joinOuter-join?leftjoin,rightjoin,andfulljoin3ApachePigJoin運算符假設(shè)在HDFS的/pig_data/目錄中有兩個文件,即customers.txt和orders.txt,如下所示。1,Ramesh,32,Ahmedabad,2000.002,Khilan,25,Delhi,1500.003,kaushik,23,Kota,2000.004,Chaitali,25,Mumbai,6500.005,Hardik,27,Bhopal,8500.006,Komal,22,MP,4500.007,Muffy,24,Indore,10000.00102,2009-10-0800:00:00,3,3000100,2009-10-0800:00:00,3,1500101,2009-11-2000:00:00,2,1560103,2008-05-2000:00:00,4,2060customers.txtorders.txt4ApachePigJoin運算符我們將這兩個文件與customers和orders關(guān)系一起加載到Pig中,如下所示grunt>customers=LOAD'hdfs://localhost:9000/pig_data/customers.txt'USINGPigStorage(',')as(id:int,name:chararray,age:int,address:chararray,salary:int);
grunt>orders=LOAD'hdfs://localhost:9000/pig_data/orders.txt'USINGPigStorage(',')as(oid:int,date:chararray,customer_id:int,amount:int);現(xiàn)在讓我們對這兩個關(guān)系執(zhí)行各種連接操作Self-join(自連接)Inner-join(內(nèi)部連接)Outer-join(外連接)leftjoin,rightjoin,andfulljoin5Self-join(自連接)Self-join用于將表與其自身連接,就像表是兩個關(guān)系一樣,臨時重命名至少一個關(guān)系。通常,在ApachePig中,為了執(zhí)行self-join,我們將在不同的別名(名稱)下多次加載相同的數(shù)據(jù)。那么,將文件customers.txt的內(nèi)容加載為兩個表,如下所示。grunt>customers1=LOAD'hdfs://localhost:9000/pig_data/customers.txt'USINGPigStorage(',')as(id:int,name:chararray,age:int,address:chararray,salary:int);
grunt>customers2=LOAD'hdfs://localhost:9000/pig_data/customers.txt'USINGPigStorage(',')as(id:int,name:chararray,age:int,address:chararray,salary:int);語法grunt>Relation3_name=JOINRelation1_nameBYkey,Relation2_nameBYkey;6Self-join(自連接)驗證
使用DUMP運算符驗證關(guān)系customers3grunt>Dumpcustomers3;將產(chǎn)生以下輸出,顯示關(guān)系customers的內(nèi)容7InnerJoin(內(nèi)部連接)InnerJoin使用較為頻繁;它也被稱為等值連接。當(dāng)兩個表中都存在匹配時,內(nèi)部連接將返回行?;谶B接謂詞(join-predicate),通過組合兩個關(guān)系(例如A和B)的列值來創(chuàng)建新關(guān)系。查詢將A的每一行與B的每一行進行比較,以查找滿足連接謂詞的所有行對。當(dāng)連接謂詞被滿足時,A和B的每個匹配的行對的列值被組合成結(jié)果行。語法grunt>result=JOINrelation1BYcolumnname,relation2BYcolumnname;讓我們對customers和orders執(zhí)行innerjoin操作grunt>coustomer_orders=JOINcustomersBYid,ordersBYcustomer_id;8InnerJoin(內(nèi)部連接)驗證
使用DUMP運算符驗證coustomer_orders關(guān)系grunt>Dumpcoustomer_orders;將獲得以下輸出,是名為coustomer_orders的關(guān)系的內(nèi)容9OuterJoin(外連接)OuterJoin:與innerjoin不同,outerjoin返回至少一個關(guān)系中的所有行。outerjoin操作以三種方式執(zhí)行:LeftouterjoinRightouterjoinFullouterjoin10LeftOuterJoin(左外連接)leftouterjoin操作返回左表中的所有行,即使右邊的關(guān)系中沒有匹配項。語法grunt>Relation3_name=JOINRelation1_nameBYidLEFTOUTER,Relation2_nameBYcustomer_id;讓我們對customers和orders的兩個關(guān)系執(zhí)行l(wèi)eftouterjoin操作grunt>outer_left=JOINcustomersBYidLEFTOUTER,ordersBYcustomer_id;11LeftOuterJoin(左外連接)驗證輸出
使用DUMP運算符驗證關(guān)系outer_leftgrunt>Dumpouter_left;它將產(chǎn)生以下輸出,顯示關(guān)系outer_left的內(nèi)容12RightOuterJoin(右外連接)rightouterjoin操作將返回右表中的所有行,即使左表中沒有匹配項。語法grunt>outer_right=JOINcustomersBYidRIGHT,ordersBYcustomer_id;讓我們對customers和orders執(zhí)行rightouterjoin操作grunt>outer_right=JOINcustomersBYidRIGHT,ordersBYcustomer_id;13RightOuterJoin(右外連接)驗證輸出
使用DUMP運算符驗證關(guān)系outer_rightgrunt>Dumpouter_left;它將產(chǎn)生以下輸出,顯示關(guān)系outer_right的內(nèi)容14FullOuterJoin(全外連接)當(dāng)一個關(guān)系中存在匹配時,fullouterjoin操作將返回行。語法grunt>outer_full=JOINcustomersBYidFULLOUTER,ordersBYcustomer_id;讓我們對customers和orders執(zhí)行fullouterjoin操作grunt>outer_full=JOINcustomersBYidFULLOUTER,ordersBYcustomer_id;15FullOuterJoin(全外連接)驗證輸出
使用DUMP運算符驗證關(guān)系outer_fullgrun>Dumpouter_f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 16840-13:2021/Amd 1:2025 EN Wheelchair seating - Part 13: Determination of the lateral stability property of a seat cushion - Amendment 1
- 儲氣瓶施工方案
- 橋加寬施工方案
- 河道防水混凝土施工方案
- 新房硬裝施工方案
- TSHJNXH 0015-2024 綠色低碳壓縮空氣站評價導(dǎo)則
- 2025年度模具開模與模具租賃服務(wù)合同模板
- 二零二五年度文化演出居間代理協(xié)議
- 二零二五年度奶制品企業(yè)社會責(zé)任履行協(xié)議
- 二零二五年度足浴養(yǎng)生品牌授權(quán)及經(jīng)營管理權(quán)轉(zhuǎn)讓合同
- 第四單元《紙的前世今生》第一課時(說課稿)-2023-2024學(xué)年五年級下冊綜合實踐活動粵教版
- 四川省綿陽市2025屆高三第二次診斷性考試英語試題(含答案無聽力原文及音頻)
- 醫(yī)學(xué)實驗室風(fēng)險評估報告-臨床實驗室風(fēng)險評估-可復(fù)制
- 2022年教資筆試科目三高中數(shù)學(xué)講義
- 八大員-勞務(wù)員模考試題與答案
- 2024危重癥患兒管飼喂養(yǎng)護理-中華護理學(xué)會團體標準課件
- 《《中央企業(yè)合規(guī)管理辦法》解讀》課件
- 脫硫自動化控制-洞察分析
- 醫(yī)務(wù)人員醫(yī)德醫(yī)風(fēng)培訓(xùn)
- 人教版初中歷史八上-第2課 第二次鴉片戰(zhàn)爭
- 2025年中考語文專題復(fù)習(xí):寫作技巧 課件
評論
0/150
提交評論