使用apache pig自定义记录中的字段所需的命令

l5tcr1uw  于 2021-06-24  发布在  Pig
关注(0)|答案(2)|浏览(246)

sample.txt文件

2017-01-01 15:35:18 I had heavy snacks
2017-02-01 12:45:19 I am feeling hungry
2017-03-01 10:25:19 I completed my work that is assigned

要求:我需要的日期是第一个领域,时间应该是第二个领域和整个剩余的文本作为第三个领域(注意:这是一个空格分隔的文件。)请帮助我。

3qpi33ja

3qpi33ja1#

将文件加载到单个字段中,然后使用strsplit。

A = LOAD '/path/sample.txt' USING TextLoader() AS (line:chararray);
B = FOREACH A GENERATE STRSPLIT(line,' ',3); --Note: 3 indicates the field line to be split into 3 parts based on the delimiter space.
DUMP B;
zkure5ic

zkure5ic2#

尝试以下代码

A = load 'data' using PigStorage ();
B = foreach A generate STRSPLIT($0,' ' ,3);
C = foreach B generate flatten($0);
D = foreach C generate $2,$1,$0;

相关问题