AFAK,Hadoop Streaming只支持文本輸入,這意味着數據按行組織。但是如果我們想要向後兼容,映射器代碼將變得混亂,在C++中編寫的同一個映射器程序中支持不同版本的日誌行。Hadoop Streaming的向後兼容性
我曾經考慮avro或protobuf,但它似乎不支持流模式,是這樣嗎?
是否還有其他解決方案?
AFAK,Hadoop Streaming只支持文本輸入,這意味着數據按行組織。但是如果我們想要向後兼容,映射器代碼將變得混亂,在C++中編寫的同一個映射器程序中支持不同版本的日誌行。Hadoop Streaming的向後兼容性
我曾經考慮avro或protobuf,但它似乎不支持流模式,是這樣嗎?
是否還有其他解決方案?
僅供參考,hadoop streaming支持二進制輸入/輸出。
查找-io rawbytes選項。
我創建了一個能夠使用SequenceFile的原型(我認爲 - 很久以前)。
我放棄了這個想法,因爲我不得不從流中反序列化Java Hadoop * Writable。而C#BinaryReader 使用little-endian編碼,而Java使用big-endian。所以mapper變得更加複雜了。
無論如何,這是可能的。