我正试图写一个Pig脚本,基本上做到以下几点。
从源列表加载输入。我知道给出列表的方法是“s3://prod/propensity/probablity/#{rundate}/#{partition}/part*”,例如,如果rundate是20131020,partition是1,3。清管器负载将从s3:\tap prod/PROPERSITY/PROBABLITY/20131020/1/part和s3:\tap prod/PROPERSITY/PROBABLITY/20131020/3/part加载*
我希望在输出中也将当前分区作为一列。所以从分区1读取的行应该有一个值为1的列,从分区3读取的行应该有一个值为3的列。
目前,我将“s3://tap prod/propensity/glpurchaseprobabilities/#{rundate}/#{partition}/glpurchaseprobabilities.tsv/part*”作为pig脚本的输入。
我的小Pig脚本是这样加载的。s3\u consolidated\u results=使用pigstorage('\t','-noschema')加载'$input')
有人能帮我截取输入变量并从中提取分区并作为列推送吗?
1条答案
按热度按时间mfpqipee1#
试试这个:
引用文件:
('tagsource') - Add a first column indicates the input file of the record.
在那之后,你可以做一个投影来得到你真正感兴趣的文件名部分。