gpt4 book ai didi

hadoop - 使用 FileInputFormat 在 map 方法中获取行号

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

我想知道是否可以在我的 map 方法中获取行号?我的输入文件只是一列值,例如,

AppleOrangeBanana

是否可以在我的 map 方法中获取 key: 1, Value: Apple , Key: 2, Value: Orange ...?

使用 CDH3/CDH4。更改输入数据以使用 KeyValueInputFormat 不是一种选择。先谢谢了。

最佳答案

TextInputFormat 等 InputFormats 的默认行为是给出记录的字节偏移量而不是实际的行号——这主要是因为当输入文件可拆分并被处理时无法确定真实的行号两个或更多映射器。

您可以创建自己的 InputFormat(基于 TextInputFormat 和关联的 LineRecordReader)来生成行号而不是字节偏移量,但您需要配置您的输入格式从 isSplittable 方法返回 false(意味着大型输入文件不会被多个映射器处理)。如果您有小文件,或者文件大小接近 HDFS block 大小,那么这应该不是问题。此外,不可分割的压缩格式(例如 GZip .gz)意味着整个文件无论如何都将由单个映射器处理。

关于hadoop - 使用 FileInputFormat 在 map 方法中获取行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15543827/

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