原创 job.waitForCompletion(true)空指針問題

hadoop2.x在windows下編譯缺少winutils.exe,需要重新下載一個並且編譯hadoop_home環境變量。 在system32文件夾下添加hadoop.dll文件。 問題解決!

原创 數學之美番外篇:平凡而又神奇的貝葉斯方法

寫在前面--引用 http://mindhacks.cn/2008/09/21/the-magical-bayesian-method/ 概率論只不過是把常識用數學公式表達了出來。 ——拉普拉斯 記得讀本科的時候,最喜歡到城裏的計

原创 mapreduce在控制檯打印log4j日誌

log4j.properties配置如下: log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.append

原创 hdfs下載文件到本地

import java.io.FileOutputStream; import java.io.OutputStream; import java.net.URI; import org.apache.hadoop.conf.Config

原创 java.io.IOException: Stream closed

java.io.IOException: Stream closed  這個錯誤是因爲在使用了多線程時候,當一個線程完成關閉時,另外一個線程正在使用該資源。 解決的辦法是關閉時判斷該資源時候還有使用,如果沒使用就關閉。 或者把關閉函數放到

原创 Hadoop Map Reduce 限制counter的默認數量120

最近用Hadoop統計將近一億行的數據,由於每一行的列再加上Overall的統計 counter數量超過了120,故在Hadoop的運行過程中,拋出如下異常: [java] view plaincopyprint?

原创 kmp算法詳解

前言     之前對kmp算法雖然瞭解它的原理,即求出P0···Pi的最大相同前後綴長度k;但是問題在於如何求出這個最大前後綴長度呢?我覺得網上很多帖子都說的不是很清楚,總感覺沒有把那層紙戳破,後來翻看算法導論,32章 字符串匹配雖

原创 Hadoop基礎之RPC機制以及HDFS源碼分析

1.RPC機制 1.1.概述 RPC——遠程過程調用協議,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。RPC協議假定某些傳輸協議的存在,如TCP或UDP,爲通信程序之間攜帶信息數據。在OSI網絡通

原创 Java 創建和銷燬對象

1、給不可實例化的類提供私有構造器 比如:每個項目中都有很多工具類,提供了很多static類型的方法供大家使用,誰也不希望看到下面的代碼: [java] view plaincopy TextUtils text

原创 MapReduce程序獲取文件名

在maper類中 Path path = ((FileSplit) context.getInputSplit()).getPath() .getParent();  String fileName = path.getParent().

原创 矩陣乘法

題目描述     請編程實現矩陣乘法,並考慮當矩陣規模較大時的優化方法。 思路分析     根據wikipedia上的介紹:兩個矩陣的乘法僅當第一個矩陣B的列數和另一個矩陣A的行數相等時才能定義。如A是m×n矩陣和B是n×p矩陣,

原创 關閉 DefaultHttpClient 頁面(非連接)

最近遇到的問題是,在連接到爬取頁面後,因爲有權限問題,所以是先post用戶名、密碼,然後再用get方法循環訪問頁面。問題就出來了。。。。   這破網站,每次開啓一個頁面,都會在服務器端打開個excel進程, 而由於我在程序上沒有關

原创 BM算法詳解

後綴匹配,是指模式串的比較從右到左,模式串的移動也是從左到右的匹配過程,經典的BM算法其實是對後綴蠻力匹配算法的改進。所以還是先從最簡單的後綴蠻力匹配算法開始。下面直接給出僞代碼,注意這一行代碼:j ;BM算法所做的唯一的事情就是改進了這

原创 hadoop中的一次集羣任務執行超時問題查找過程

本次進行一個項目的重構,在某些活動數據量比較大的情況下,會偶爾出現1200s超時的情況,如下:   AttemptID:attempt_1410771599055_11709_m_000033_0 Timed out after 1200

原创 DataNode引用計數磁盤選擇策略

前言 在HDFS中,所有的數據都是存在各個DataNode上的.而這些DataNode上的數據都是存放於節點機器上的各個目錄中的,而一般每個目錄我們會對應到1個獨立的盤,以便我們把機器的存儲空間基本用上.這麼多的節點,這麼多塊盤,