我有一個很大的.txt文件的記錄,我需要轉換爲(hadoop)序列格式的效率。我在網上找到了一些答案(例如How to convert .txt file to Hadoop's sequence file format),但我是hadoop的新手,並不瞭解他們。如果你能解釋一些,或者如果你有另一種解決方案,那會很棒。如果有幫助,記錄按行分開。如何從文本文件轉換爲序列文件?
在此先感謝。
我有一個很大的.txt文件的記錄,我需要轉換爲(hadoop)序列格式的效率。我在網上找到了一些答案(例如How to convert .txt file to Hadoop's sequence file format),但我是hadoop的新手,並不瞭解他們。如果你能解釋一些,或者如果你有另一種解決方案,那會很棒。如果有幫助,記錄按行分開。如何從文本文件轉換爲序列文件?
在此先感謝。
既然你說你是hadoop的新手,你知道Mapper
和Reducer
的基本想法嗎?他們都有KEY_IN_CLASS,VALUE_IN_CLASS,KEY_OUT_CLASS,VALUE_OUT_CLASS,所以你的情況,你可以簡單的使用映射器做轉換,
爲KEY_IN_CLASS,你可以使用默認LongWritable
,
VALUE_IN_CLASS你需要使用Text
,因爲Text
類處理文本輸入。
對於KEY_OUT_CLASS,您可以使用NullWritable
,如果您沒有特定的密鑰,則它是空鍵。
對於VALUE_OUT_CLASS,請使用SequenceFileOutputFormat
。
我相信要使用SequenceFileOutputFormat
,您需要告訴SequenceFileOutputFormat您使用的關鍵類和值類。
你如何將這條線標記爲一個鍵和值? (通常鍵是行號,值是行文字) –
就像你說的。鍵:行號,值:行文本。 – Jonathan
在你已經鏈接到的答案中,你不明白哪一個特定部分或想要進一步澄清? –