原创 wordcount運行各類問題解答

1. eclipse插件版本問題 把插件文件(hadoop-eclipse-plugin-x.jar)放到 Eclipse的安裝目錄下的plugins(支持在線下載),需重新啓動Eclipse 使用hadoop-eclipse-plug

原创 隨手記點-mapreduce2

1.一個文本如何變成map或者reduce處理的鍵值對,它們處理完之後的鍵值對又是如何變成了一個文本輸出的? 答:首先文件會按照大小均分成幾個split,每個split被最終變成一些(k,v),每個(k,v)代表一行,k表示開始在

原创 讀書筆記3-《crazy java》

通過關鍵字new創建java對象,即可視爲java對象申請內存空間,JVM會在內存堆中爲每個對象分配空間,當一個java對象失去引用時,JVM的垃圾回收機制會自動清除他們,並回收它們所佔的內存空間。 是否回收一個對象的標準:是否還

原创 讀書筆記1-《crazy java》

數組的初始化:數組中的所有元素都被分配了合適的內存空間並指定了初始值,之後的程序不能改變數組對象在內存中的位置和大小。 初始化的兩種方式: 1.靜態初始化:初始化時由程序顯示指定每個元素的初始值,由系統決定數組的長度 2.動態

原创 讀書筆記7-《crazy java》

數據庫連接、網絡連接、磁盤文件等,打開這些物理資源之後必須顯式關閉,否則會引起資源泄漏 垃圾回收機制屬於java內存管理的一部分,只負責回收堆內存中分配的內存,至於程序中打開的物理資源,無能爲力。 關閉資源的3個要點: 1. 使

原创 隨手記點-mapreduce1

1.What is MapReduce? We want to count all the books in the library.You count shelf #1,I count up shelf #2.That is m

原创 Spark Shuffle過程分析

MapReduce的sort-based shuffle 之前我們提到了MapReduce的Shuffle方式,Spark Shuffle雖然採取了和MapReduce完全不一樣的機制,但深層的原理還是有相同的地方的。所以,爲了更

原创 MapReduce Shuffle性能調優

Map端優化 選項 類型 默認值 描述 io.sort.mb int 100 緩存map中間結果的buffer大小(MB) io.sort.record.percent float 0.05 io.sort.mb中

原创 MapReduce Shuffle過程分析

總體概述 MapReduce中的Shuffle更像是洗牌的逆過程,是將無規律的數據進行一定的規律化。下面是一張官方對shuffle描述的過程圖。 — 在MapReuce的計算模型中,Map的輸出是作爲Reduce的輸入,在Redu

原创 讀書筆記2-《crazy java》

java內存管理:內存分配和內存回收 內存分配:指創建Java對象時JVM爲該對象在堆內存中所分配的內存空間 內存回收:指當該java對象失去引用變爲垃圾時,JVM的垃圾回收機制自動清理該對象,並回收該對象所佔內存 垃圾回收機制:由一

原创 讀書筆記5-《crazy java》

switch語句表達式只能是如下5種數據類型: 1. byte 2. short 3. int 4. char 5. enum 使用if…else語句有一條基本的規則:總是優先把包含範圍小的條件放到前面處理。 對於if語句而言,

原创 HDFS研究

1. HDFS的組成部分及各部分職責? Client: 調用HDFS API操作文件; 與NN交互,進行文件元數據的操作,獲取文件元數據; 與DN交互,數據讀寫。 NN: 唯一管理者,管理元數據(保存和管理文件系統的命名空間,包括目

原创 利用java script獲取兩個日期區間內數組的方法

方法1: 思路:對日期進行拆分,每次增加一天,循環比較日期大小直至相同爲止。 <html> <head> <title>Get data array</title> <meta charset="U

原创 Yarn調度研究

1. YARN基本組成結構 RM=調度器+應用程序管理器ASM 調度器:純調度器,不做與具體應用程序相關的工作,可插拔,用戶可以設計新的調度器 ASM:負責整個系統中所有的應用程序,包括應用程序提交、與調度器協商資源以啓動AM,監控AM

原创 讀書筆記4-《crazy java》

創建對象的常見方式: 1. 通過new調用構造器創建java對象 2. 通過class對象的newInstance()方法調用構造器創建 3. 通過java的反序列化機制從IO流中恢復java對象 4. 通過java對象提供的cl