我有一个案例,我需要读取文件的行格式
Field1,Field2,Field3,Field4,Field5,Field6#Field1,Field2,Field3
而实现这一点的一种方法是使用像 KeyValueLineRecordReader
带分离器 #
. 但我得把钥匙和价值分开 ,
在我的自定义项中使用 String.split
我觉得这会减缓执行速度。
1有这种格式的唱片阅读器吗?2如果一个这样的唱片作者不存在,我有什么办法可以有效地阅读这样一行呢?
输入数据约为10gb。
2条答案
按热度按时间3b6akqbq1#
您可以在split中使用regex
nnvyjq4y2#
因为您已经用apache pig标记了这个问题,所以我将给出一个pig解决方案。将记录加载到1个字段中,用''替换#,然后使用strsplit获取各个字段。不需要java或任何udf。