我想知道是否有人可以对以下内容进行改进。
我遇到了以空格分隔的文件,其中空格分隔符的数量和类型可能因行而异,甚至在一行内的字段之间也可能不同,如下所示:
whiteSpaceDelimitedFields.txt:
f11 f12 f13 ...
f22 f22 f23 ...
f32 f32 f33 ...
对于这种空白的一般情况,我使用以下 PIG 代码片段(如下面的输出所示):
grunt> A = LOAD 'whiteSpaceDelimitedFields.txt' USING TextLoader() AS (line:chararray);
grunt> B = FOREACH A GENERATE FLATTEN(STRSPLIT(line, '\\s+')) AS (f0:type, f1:type, ...);
grunt> DUMP B;
(f11,f12,f13)
(f22,f22,f23)
(f32,f32,f33)
grunt>
我想这种转换发生在 map() 方法中(而不是在记录阅读器中动态发生——尽管我不确定);但无论如何,对于这种经常发生的情况,PIG 是否有改进?也许是装载机的建议?
提前致谢