原文:[大牛翻譯系列]Hadoop(3)MapReduce 連接:半連接(Semi-join)

. . 半連接 Semi join 假設一個場景,需要連接兩個很大的數據集,例如,用戶日志和OLTP的用戶數據。任何一個數據集都不是足夠小到可以緩存在map作業的內存中。這樣看來,似乎就不能使用reduce端的連接了。盡管不是必須,可以思考以下問題:如果在數據集的連接操作中,一個數據集中有的記錄由於因為無法連接到另一個數據集的記錄,將會被移除。這樣還需要將整個數據集放到內存中嗎 在這個例子中,在 ...

2014-03-05 06:13 3 3783 推薦指數:

查看詳情

[大牛翻譯系列]Hadoop(2)MapReduce 連接:復制連接(Replication join

4.1.2 復制連接(Replication join) 復制連接是map端的連接。復制連接得名於它的具體實現:連接中最小的數據集將會被復制到所有的map主機節點。復制連接有一個假設前提:在被連接的數據集中,有一個數據集足夠小到可以緩存在內存中。 如圖4.5所示,MapReduce復制連接工作 ...

Tue Mar 04 15:22:00 CST 2014 4 2100
[大牛翻譯系列]Hadoop(1)MapReduce 連接:重分區連接(Repartition join

4.1 連接Join連接是關系運算,可以用於合並關系(relation)。對於數據庫中的表連接操作,可能已經廣為人知了。在MapReduce中,連接可以用於合並兩個或多個數據集。例如,用戶基本信息和用戶活動詳情信息。用戶基本信息來自於OLTP數據庫。用戶活動詳情信息來自於日志文件 ...

Mon Mar 03 23:55:00 CST 2014 1 4254
[大牛翻譯系列]Hadoop(7)MapReduce:抽樣(Sampling)

4.3 抽樣(Sampling) 用基於MapReduce的程序來處理TB級的數據集,要花費的時間可能是數以小時計。僅僅是優化代碼是很難達到良好的效果。 在開發和調試代碼的時候,沒有必要處理整個數據集。但如果在這種情況下要保證數據集能夠被正確地處理,就需要用到抽樣了。抽樣是統計學中的一個方法 ...

Sun Mar 09 16:09:00 CST 2014 0 3091
[大牛翻譯系列]Hadoop(5)MapReduce 排序:次排序(Secondary sort)

4.2 排序(SORT) 在MapReduce中,排序的目的有兩個: MapReduce可以通過排序將Map輸出的鍵分組。然后每組鍵調用一次reduce。 在某些需要排序的特定場景中,用戶可以將作業(job)的全部輸出進行總體排序。 例如:需要了解前N個最受歡迎的用戶或網頁 ...

Fri Mar 07 14:18:00 CST 2014 0 6693
MySQL中的semi-join

http://www.linuxidc.com/Linux/2015-05/117523.htm 1. 背景介紹什么是semi-join?所謂的semi-join是指semi-join子查詢。 當一張表在另一張表找到匹配的記錄之后,半連接semi-jion)返回第一張表中的記錄。與條件連接相反 ...

Sat Jul 30 17:49:00 CST 2016 0 4269
[大牛翻譯系列]Hadoop(13)MapReduce 性能調優:優化洗牌(shuffle)和排序階段

6.4.3 優化洗牌(shuffle)和排序階段 洗牌和排序階段都很耗費資源。洗牌需要在map和reduce任務之間傳輸數據,會導致過大的網絡消耗。排序和合並操作的消耗也是很顯著的。這一節將介紹一系列的技術來緩解洗牌和排序階段的消耗。 技術46 規避使用reduce Reduce在用於連接 ...

Sat Mar 15 14:39:00 CST 2014 0 3158
[大牛翻譯系列]Hadoop(18)MapReduce 文件處理:基於壓縮的高效存儲(一)

5.2 基於壓縮的高效存儲 (僅包括技術25,和技術26) 數據壓縮可以減小數據的大小,節約空間,提高數據傳輸的效率。在處理文件中,壓縮很重要。在處理Hadoop的文件時,更是如此。為了讓Hadoop更高效處理文件,就需要選擇一個合適的壓縮編碼器,加快作業運行,增加集群的數據存儲能力 ...

Fri Mar 21 14:28:00 CST 2014 0 3537
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM