hadoop streaming記憶體超限解決方案
場景:執行的一個streaming的mapper-reducer任務需要讀入一個2g大小的詞表作為輔助分析資料,然後不出意外的,記憶體超限。
解決方案:
1.提高記憶體上限:
增加配置,將上限調高到8000M,這樣就解決了,如下:
-D stream.memory.limit=8000
2.將讀入詞表的操作轉到reducer階段完成:
這樣需要點思路轉換,我需要對比的key是地理位置,詞表的key也是地理位置,可以在reducer階段將它們歸併起來做處理,缺點就是麻煩了些。
3.優化讀入資料:
提高記憶體上限到底是治標不治本,應當避免讀入這種大資料,舉個例子,我的解決方案是把詞表用hash的方式轉化為數字,大小從原來的2g變為400m,順利執行,速度提高。
以上,就是個人碰到hadoop記憶體超限的解決方法了。
相關推薦
hadoop streaming記憶體超限解決方案
場景:執行的一個streaming的mapper-reducer任務需要讀入一個2g大小的詞表作為輔助分析資料,然後不出意外的,記憶體超限。 解決方案: 1.提高記憶體上限: 增加配置,將上限調高到8000M,這樣就解決了,如下: -D stream.m
PAT甲級 1029 Median(25 分)AC 解決記憶體超限
1029 Median(25 分) Given an increasing sequence S of N integers, the median is the number at the middle position. For example, the
pta--1029 Median(25 分)(思維&&解決記憶體超限)*
1029 Median(25 分) Given an increasing sequence S of N integers, the median is the number at the middle position. For example, the median
大數據-Hadoop小文件問題解決方案
擴展名 term efi 外部 情況 -o r文件 圖片 Oz HDFS中小文件是指文件size小於HDFS上block(dfs block size)大小的文件。大量的小文件會給Hadoop的擴展性和性能帶來嚴重的影響。HDFS中小文件是指文件size小於HDFS上blo
android 本地大圖片造成記憶體溢位的解決方案
在使用中,小的圖片,可以通過drawable直接引用setImageResource或者setBackgroundResource, 但涉及到大圖時,儘量通過decodeStream來建立bitmap,然後再給對應的view使用。 public static Bitmap readBitMap(
使用hive的beeline連線報錯hadoop is not allowed to impersonate hadoop (state=08S01,code=0)解決方案
筆者在使用Java api操作hive時遇到如下錯誤: hadoop is not allowed to impersonate hadoop (state=08S01,code=0) 原因:hiveserver2增加了許可權控制,需要在hadoop的配置檔案中配置 解決方法:在hado
SQL Server 效能優化實戰系列(一) SQL Server擴充套件函式的基本概念 使用SQL Server 擴充套件函式進行效能優化 SQL Server Url正則表示式 記憶體常駐 完美解決方案
資料庫伺服器主要用於儲存、查詢、檢索企業內部的資訊,因此需要搭配專用的資料庫系統,對伺服器的相容性、可靠性和穩定性等方面都有很高的要求。 下面是進行籠統的技術點說明,為的是讓大家有一個整體的概念,如果想深入可以逐個擊破;&n
CCF2015.3 第一題:影象旋轉(java) 80分(記憶體超限)
CCF2015.3 第一題:影象旋轉(java) 問題描述 旋轉是影象處理的基本操作,在這個問題中,你需要將一個影象逆時針旋轉90度。 計算機中的影象表示可以用一個矩陣來表示,為了旋轉一個影象,只需要將對應的矩陣旋轉即可。 輸入格式 輸入的第一行包含兩個整數n, m,分別表示
MySQL資料庫查詢結果過大解決記憶體溢位的解決方案
正常來說,一般是不會出現這種情況的,但也不能保證,偶爾有這種情況發生,解決方案如下: 1.使用分頁查詢語句。 因為分頁查詢每次只會查詢少量資料,所以不會佔用太多記憶體,而且資料量很大的時候,分頁
框架或者程式用了Introspector類導致的記憶體洩漏問題解決方案
在web.xml檔案中加入如下配置: <!-- 重新整理Introspector防止記憶體洩露 --> <listener> <listener-class>org.springframework.web.util.In
iOS -- 關於系統手勢右滑與scrollview左右滑動衝突超簡單解決方案
由於左右滑動的scrollview會攔截我們系統的右滑返回手勢,所以我們想要的返回手勢就沒有了。 之前的解決方案都很繁瑣,今天看到一個好的解決方案,先上程式碼 NSArray *gestureArr = self.navigationController.view.gesture
Hadoop的一些常見錯誤解決方案
1、啟動hadoop時沒有NameNode的可能原因: (1) NameNode沒有格式化 (2) 環境變數配置錯誤 (3) Ip和hostname繫結失敗 2、搭建hadoop叢集使用ssh不成功 ①檢視防火牆 ②檢查使用者許可權 ③可能是缺少外掛 使用
基於Hadoop Sequencefile的小檔案解決方案
基於Hadoop Sequencefile的小檔案解決方案 一、概述 小檔案是指檔案size小於HDFS上block大小的檔案。這樣的檔案會給hadoop的擴充套件性和效能帶來嚴重問題。首先,在HDFS中,任何block,檔案或者目錄在記憶體中均以物件的形式儲存,每個物件約佔150byte,如果有10
【RecyclerView】Android 橫豎屏切換 超便捷解決方案
相信Android 開發者大多數都遇到過橫豎屏切換的需求,往往最後選擇了鎖定豎屏,或者鎖定橫屏的體驗。或者每次切換螢幕就要切換顯示資料的控制元件。谷歌官方推出的RecyclerView控制元件讓你不再有這樣的煩惱。 最近這兩天又不是很忙了,閒下來看了些關於5.
MyEclipse執行專案的記憶體溢位問題解決方案
在myEclipse中,開啟Windows -> Preferences -> Java -> Installed JREs -> 點選正在使用的JDK -> Edit -> Default VM Arguments文字框中輸入:
MyEclipse 記憶體不足問題解決方案
1: 開啟MyEclipse目錄下的myeclipse.ini檔案 在後面修改下面幾個屬性 -vmargs -Xms512m ( Java能夠分配的記憶體) -Xmx5
Andriod-記憶體洩露-分析-解決方案
Activity 洩漏 我們第一個需要修復的問題就是 Activity 洩漏,我們先來看看記憶體洩漏是怎麼發生的。 Activity 洩漏通常是記憶體洩漏的一種。為什麼會洩漏呢?如果你持有一個未
python 多次讀取同樣的csv 會發生記憶體報錯 --解決方案
1.多次讀取同樣的csv時,記憶體儲存,可以通過刪除變數且釋放記憶體的形式恢復原有記憶體 (天池O2O) #1754884 record,1053282 with coupon_id,9738 coupon. date_received:20160101~20160615,date:2016
matlab記憶體溢位的解決方案
(1) 增加虛擬記憶體:cmd -> taskmgr 開啟工作管理員,檢視實體記憶體和虛擬記憶體,可觀察matlab在執行過程中是否超過實體記憶體和虛擬記憶體。若超過,增加虛擬記憶體的方法是不可行的。實體記憶體不足的時候可以通過將電腦的虛擬記憶體設定得大一
Leetcode 188:買賣股票的最佳時機 IV(超詳細解決方案!!!)
給定一個數組,它的第 i 個元素是一支給定的股票在第 i 天的價格。 設計一個演算法來計算你所能獲取的最大利潤。你最多可以完成 k 筆交易。 注意: 你不能同時參與多筆交易(你必須在再次購買前出售掉之前的股票)。 示例 1: 輸入: [2,4,1], k = 2 輸出: