簡體   English   中英

如何在Apache TEZ中增加Mappers和Reducer

[英]How to increase Mappers and Reducer in Apache TEZ

我知道這個簡單的問題,我需要這個社區的查詢提供幫助,當我創建ORC格式的PartitionTable時,當嘗試從非分區表中轉儲指向210列的2 GB文件的數據時,我看到了映射器是2,減速器是2。 有沒有辦法增加Mapper和reducer。 我的假設是我們不能像MR 1.0那樣設置Mapper和reducer的數量 ,它基於紗線容器大小,Mapper最小內存和最大內存等設置。 誰能建議我TEz計算映射器和約簡器。 什么是保持內存大小設置的最佳值,這樣我就不會遇到:Java堆空間,Java內存不足問題。 我的文件大小可能會增加到100GB。 請幫我。

您仍然可以在Yarn中設置映射器和化簡器的數量。 你有嘗試過嗎? 如果是這樣,請回到這里。

Yarn改變了底層的執行機制,但是#mappers和#reducers在描述作業需求-而不是作業資源的分配方式(這是yarn和mrv1的區別)。

傳統的Map / Reduce具有硬編碼的地圖編號,並減少“插槽”。 就像您說的那樣-Yarn使用容器-每個應用程序都是。 因此,紗線更加靈活。 但是在兩種情況下,#mappers和#reducers都是作業的輸入 而且在這兩種情況下,映射程序和縮減程序的實際數量可能與請求的數量不同。 通常,#reducers要么是

  • (a)確切要求的數量
  • (b)正好一個減速器-也就是說,如果工作需要,例如在總訂貨中

對於內存設置,如果將蜂巢與tez一起使用,則以下兩個設置將對您有用:

1)hive.tez.container.size-這是將要使用的紗線容器的大小(以MB為單位的值)。

2)hive.tez.java.opts-這是用於每個任務的java opts。 如果容器大小設置為1024 MB,則設置Java會選擇說“ -Xmx800m”而不是“ -Xmx1024m”。 YARN殺死使用的內存超過指定容器大小的進程,並且考慮到Java進程的內存占用量通常可以超過指定的Xmx值,因此將Xmx設置為與容器大小相同的值通常會導致問題。

暫無
暫無

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

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