2014-12-30 32 views
1

我在HDFS我自己的文件格式,如下面如何閱讀定製的HDFS與蜂巢

<bytes_for_size_of_header><header_as_protobuf_bytes><bytes_for_size_of_a_record><record_as_protobuf_bytes>...

我們可以看到,在文件中的每條記錄進行編碼的協議緩衝文件

我一直在嘗試用配置單元讀取這些文件,並且我認爲應該創建一個輸入格式,一個來自舊版本mapreduce API的記錄讀取器,以及一個用於解碼protobuf記錄的serde。

有沒有人曾經這樣做過,我會朝着正確的方向前進嗎?任何幫助將不勝感激。

回答

0

是的,你正朝着正確的方向前進。這正是InputFormat,RecordReaderSerDe摘要的目的。你應該能夠找到大量的例子。

+0

謝謝!@climbage,實際上我已經創建了un inputformat和recordreader,但是新版本的mapreduce API,並且它們與hive不兼容,因爲hive使用了較早的mapreduce API,您是否認爲有一種轉換方式他們能夠用於蜂巢? – user2717621

+0

我不......我一直只是將它們移回來。現在可能有一種新的更好的方式來實現它。 – climbage