如何从猪的文本文件行中转储特定列?

时间:2016-11-15 12:00:41

标签: hadoop apache-pig

我是pig的新手。我在.txt文件中有我的数据,我想从这个文本文件中检索一个特定的列。这个列在这个文本文件中用;分隔。

例如,如果行是

1;1;13;2010-09-13T19:16:26.763;239;383084;10;16575;2013-04-05T15:50:48.133;2015-11-21T04:55:50.150;I've rooted my phone. Now what? What do I gain from rooting?;2;0;162;2011-01-25T08:44:10.820;

然后我想从上面的行中检索 4th 列。

那么,猪脚本应该是什么来检索 4th 列,(239)

1 个答案:

答案 0 :(得分:5)

您使用分号作为分隔符使用PigStorage

<app-datatable (row)="received($event)"></app-datatable>

转储输出A:

  

(1,1,13,2010-09-13T19:16:26.763,239,383084,10,16575,2013-04-05T15:50:48.133,2015-11-21T04:55:50.150,我已经   扎根我的手机。怎么办?我从中获得了什么   ?生根,2,0,162,2011-01-25T08:44:10.820)

A = LOAD '/path/to/file' USING PigStorage(';');
dump A

转储B的输出

  

(239)

如果您想为列指定名称并使用该名称进行回溯

,则可以在加载命令中使用AS
B =foreach A generate $4;
dump B