我是新来的猪。我的数据保存在.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;
,
然后我想从上面的行中检索第4列。
因此,检索第4列的Pig脚本应该是什么,即 (239)
。
您使用分号作为分隔符使用PigStorage
A = LOAD '/path/to/file' USING PigStorage(';');
dump A
Run Code Online (Sandbox Code Playgroud)
转储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)
B =foreach A generate $4;
dump B
Run Code Online (Sandbox Code Playgroud)
转储B的输出
(239)
如果您想给列命名并使用该名称检索,则可以在load命令中使用AS
A = LOAD '/path/to/file' USING PigStorage(';') AS(col1,col2...);
Dumping given column with name.
B =foreach A generate col1;
dump B
Run Code Online (Sandbox Code Playgroud)