簡體   English   中英

關於Apache Hive Map方面的加入

[英]about the Apache Hive Map side Join

我知道配置單元映射側連接使用內存。 我可以使用SSD代替內存嗎? 我想通過將尺寸表放在SSD上來進行Mapside連接。 可能嗎?

我將通過向您解釋Hadoop分布式緩存來嘗試回答您的問題:

DistributedCache是​​Map-Reduce框架提供的一種工具,用於緩存應用程序所需的文件( 在您的情況下,這是您要加入的配置單元表 )。

DistributedCache假定通過URL指定的文件已經存在於URL所指定的路徑上的文件系統( 這是您的SSD或HDD )上,並且集群中的每台計算機都可以訪問。

具有諷刺意味的是,Hadoop框架決定了是否根據地圖文件的大小將地圖文件放入內存(RAM / YARN)或SSD / HDD中。

盡管默認情況下,映射聯接中使用的表的最大大小(作為小表)為1,000,000,000字節(約1 GB),但是您也可以通過配置單元集屬性示例手動增大此大小:

設置hive.auto.convert.join.noconditionaltask = true;

設置hive.auto.convert.join.noconditionaltask.size = 2000000000;

在作業的任何任務在該節點上執行之前,該框架會將必要的文件復制到該從節點上。 其效率源於以下事實:每個作業僅復制一次文件,以及緩存未在從屬服務器上存檔的存檔的能力。

您可以在以下鏈接上找到有關分布式緩存的更多信息:

https://hadoop.apache.org/docs/r2.6.3/api/org/apache/hadoop/filecache/DistributedCache.html

https://hadoop.apache.org/docs/r1.2.1/api/org/apache/hadoop/filecache/DistributedCache.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM