使用 Apache Pig 自定义记录中的字段所需的命令
Command required to customize a field in a record using Apache Pig
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
- 要求:我需要日期作为第一个字段,时间应该作为第二个字段,整个剩余文本作为第三个字段。 (注意:这是一个 space 分隔文件。)。请帮助我。
将文件加载到单个字段中,然后使用 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;
试试下面的代码
A = load 'data' using PigStorage ();
B = foreach A generate STRSPLIT([=10=],' ' ,3);
C = foreach B generate flatten([=10=]);
D = foreach C generate ,,[=10=];
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
- 要求:我需要日期作为第一个字段,时间应该作为第二个字段,整个剩余文本作为第三个字段。 (注意:这是一个 space 分隔文件。)。请帮助我。
将文件加载到单个字段中,然后使用 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;
试试下面的代码
A = load 'data' using PigStorage ();
B = foreach A generate STRSPLIT([=10=],' ' ,3);
C = foreach B generate flatten([=10=]);
D = foreach C generate ,,[=10=];