gpt4 book ai didi

java - Hadoop MultipleInputs,具有不同分隔符的TextInputFormat

转载 作者:可可西里 更新时间:2023-11-01 16:11:04 26 4
gpt4 key购买 nike

如何最简单地运行多个不同的映射器类(使用 MultipleInputs),所有映射器类都使用相同的输入格式,但使用不同的输入分隔符?

MultipleInput 允许您添加多个映射器,每个映射器都有自己的输入格式:

MultipleInputs.addInputPath(Job job, Path path,
Class<? extends InputFormat> inputFormatClass,
Class<? extends Mapper> mapperClass)

TextInputFormat 输入中的输入分隔符是通过在作业配置中设置配置键 textinputformat.record.delimiter 来配置的。方便!

但是,这意味着使用 MultipleInput.addInputPath(?, TextInputFormat.class, ?) 添加的所有映射器都必须共享相同的分隔符,如 textinputformat.record.delimiter 所指定 配置键。

有什么方法可以解决这个问题,而不必为每个映射器使用硬编码分隔符编译单独的输入格式类(扩展 TextInputFormat)?

最佳答案

如果您需要多输入格式,那么您可以创建自己的输入格式,只需修改分隔符并将它们用于您的输入路径。你可以look这里。

您的 InputFormat 类将使用您所需的分隔符覆盖 createRecordReader()。

关于java - Hadoop MultipleInputs,具有不同分隔符的TextInputFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31157324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com