【问题标题】:Multiple outputformats in single map reduce单个映射中的多种输出格式减少
【发布时间】:2016-03-04 16:06:34
【问题描述】:

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

【问题讨论】:

    标签: hadoop mapreduce parquet


    【解决方案1】:

    不确定这是最好的方法,但您可以在映射器的 setup() 方法中初始化一个 StringBuilder,在 map() 方法期间将所有文本值附加到它,然后在 cleanup 方法中将其写入磁盘。取决于文本输出的大小以及是否有足够的内存。这样,文本文件根本不需要是映射器输出,您的映射器输出只能是 Parquet 数据。

    您可以使用context.getInputSplit() 或类似于文本输出文件名的名称,以便每个映射器输出一个唯一的文件名,并且您知道哪个输出对应哪个输入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-23
      • 2017-02-26
      • 2015-05-29
      • 2012-06-04
      • 2011-12-24
      • 1970-01-01
      • 2015-01-09
      • 1970-01-01
      相关资源
      最近更新 更多