Hadoop自定義型別的輸出

2021-09-01 14:20:40 字數 598 閱讀 6410

在上篇中,有乙個錯誤的地方,就是對於自定義型別,在textoutputformat輸出格式下輸出的時候,會出現不正常的情況。後來檢視textoutputformat的原始碼發現,在輸出的時候,它會呼叫自定義型別vectorwritable的tostring方法。以前也寫過,不知道為什麼不正常,這次新增tostring方法後,輸出檔案中顯示正常。

textoutputformat中呼叫object.tostring:

private void writeobject(object o) throws ioexception  else 

}public synchronized void write(k key, v value)

throws ioexception

if (!nullkey)

if (!(nullkey || nullvalue))

if (!nullvalue)

out.write(newline);

}

vectorwritable中的tostring函式:

public string tostring()

return output;

hadoop自定義分割槽

實現自定義分割槽比較簡單了,繼承partitioner,實現getpartition 方法就行了,分割槽是按照key進行的。以wordcount為例。輸入文字1 hello world hello 3.輸入文字2 hello world world 4 編寫程式,hello 和world各自為乙個分...

hadoop自定義許可權

參考 1.測試類 想執行hadoop的測試類,我們必須先編譯hadoop mac下編譯hadoop 2.7.4 然後檢視測試類 org.apache.hadoop.hdfs.server.namenode.testinodeattributeprovider然後直接執行testdelegationt...

自定義型別

typedef型別 typedef 已有型別 新建型別 示例 typedef double area,volume typedef int number number i1 area a enum enum 列舉型別名 enum week 預設sun 0,可以比較 如果修改必須形如enum week...