如果行包含多个相同的定界符,如何纠正 Pig Script?
How to right Pig Script if line contains more than one same delimiter?
我的 "test.csv" 文件中有一行如下:
1987654,文件未上传,请重试,Johnson
我想使用 Pig 获得如下输出
任务 ID
1987654
留言
文件未上传,请重试
用户
约翰逊
由于所有行的格式相同,简单的解决办法是将其加载到以逗号作为分隔符的 4 个字段,然后使用 CONCAT 将第 2 个和第 3 个字段连同一个逗号。
A = LOAD 'data.txt' USING PigStorage(',') AS (a1:int,a2:chararray,a3:chararray,a4:chararray);
B = FOREACH A GENERATE a1,CONCAT(CONCAT(a2,','),a3),a4;
DUMP B;
我的 "test.csv" 文件中有一行如下:
1987654,文件未上传,请重试,Johnson
我想使用 Pig 获得如下输出
任务 ID
1987654
留言
文件未上传,请重试
用户
约翰逊
由于所有行的格式相同,简单的解决办法是将其加载到以逗号作为分隔符的 4 个字段,然后使用 CONCAT 将第 2 个和第 3 个字段连同一个逗号。
A = LOAD 'data.txt' USING PigStorage(',') AS (a1:int,a2:chararray,a3:chararray,a4:chararray);
B = FOREACH A GENERATE a1,CONCAT(CONCAT(a2,','),a3),a4;
DUMP B;