現在用的 hadoop 的版本是 0.20.2-cdh3u6。 cdh 是 Cloudera 的開源版本。
使用 local 模式的時候,會出現幾個錯誤,記錄如下:
1. java.lang.NullPointerException 異常
1
2
3
4
5
6
7
java.lang.Exception: java.lang.NullPointerException
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:349)
Caused by: java.lang.NullPointerException
at org.apache.hadoop.mapred.pipes...
閱讀全文
有的時候,我們在 hadoop 上的輸入可能不是一些基於行的文本,是希望自定義一些結構化的數據。這種情況,一般會選用工具將結構化的數據序列化成位元組流,存儲在磁碟上。然後在 maper 中讀取進來,反序列化即可得到原來的數據。
我們使用 google protobuf 作為這種結構化的信息傳遞的工具。
首先可以先定義 person.proto 文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
...
閱讀全文