单一Map中的多种输出格式

ogsagwnx  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(402)

我有一个mapreduce作业,它读取文本文件并从中创建Parquet文件,同时将其作为输出写入简单的文本文件。我使用了多种输出格式。但可以初始化多个输出格式对象,以便一次写入Parquet文件或文本文件。我需要在一个Map器中同时容纳两者。非常感谢您的帮助。

gmxoilav

gmxoilav1#

不确定这是不是最好的方法,但您可以在我们的Map程序中初始化stringbuilder setup() 方法,在 map() 方法,然后将其写入 cleanup 方法。取决于文本输出的大小以及是否有足够的内存。这样,文本文件根本不需要是Map器输出,Map器输出只能是Parquet数据。
你可以用 context.getInputSplit() 或者类似于文本输出文件名的东西,以便每个Map器输出一个唯一的文件名,并且您知道哪个输出对应于哪个输入。

相关问题