在pig中平展字符串之后,我在实现字段对象(模式)时遇到了问题。我有以下代码:
数据=加载'data/.txt',使用pigstorage()作为(。。。。,date:chararray, .....);
b=foreach数据展平(regex\u extract\u all(date,'''(.)/(.)/(.))
(.):(.):(.*)“')作为(month:int, day:int, year:int, hour:int, min:int, second:int);
--b=按年份过滤b==2015;
--b=按月份==1或月份==2筛选b;
c=foreach b生成速度,月、日、年、小时、分钟;
使用pigstorage(',')将c存储到'data/out\文件';
其中日期在表格中('2/23/2015 23:56:49')
这个很好用。但是当我在b中使用filter(year==2015或month==1或month==2)时,这个代码不起作用。你知道如何在压平绳子后使用任何字段吗?。谢谢你的帮助。
1条答案
按热度按时间rkue9o1l1#
你能试试这个吗?
输入:
Pig手稿:
输出:
下面的正则表达式也起作用。