因此,我有一個MapReduce作業,它接收多篇新聞文章並輸出以下鍵值對。將Hadoop MapReduce輸出寫入2個平面文件
.
.
.
<article_id, social_tag.name, social_tag.isCompany, social_tag.code>
<article_id2, social_tag2.name, social_tag2.isCompany, social_tag.code>
<article_id, topic_code.name, topic_code.isCompany, topic_code.rcsCode>
<article_id3, social_tag3.name, social_tag3.isCompany, social_tag.code>
<article_id2, topic_code2.name, topic_code2.isCompany, topic_code2.rcsCode>
.
.
.
正如你所看到的,主要有兩種不同類型的我目前的輸出而現在,這些獲得通過的MapReduce輸出的平面文件混在一起的數據行。無論如何,我可以簡單地輸出social_tags到file1和topic_codes到file2或者可以輸出social_tags到指定的一組文件(social1.txt,social2.txt ..etc)和topic_codes到另一個組(topic1.txt,topic2.txt。 ..etc)
我問這個問題的原因是我可以很容易地將所有這些存儲到Hive表中。我最好希望爲每種不同的數據類型(topic_code,social_tag,...等)提供一個單獨的表格。如果你們中的任何一個人都知道一個簡單的方法來實現這一點,而不需要將mapreduce輸出分離到不同的文件,那將是真正的也有幫助。
在此先感謝!
http://stackoverflow.com/questions/10436811/splitting-reducer-output-in-hadoop – DevZer0
您可以使用自定義'Partitioner' – twid