我是一个非常新的Pig,所以面对一些问题,而试图执行非常基本的Pig加工。
1-使用pig加载该文件
2-编写一个处理逻辑,根据日期过滤记录,例如,行有2列col_1和col_2(假设列是chararray),我只需要得到col_1和col_2之间有1天差异的记录。
3-最终将过滤后的记录存储在配置单元表中。
输入文件(制表符分隔):-
2016-01-01T16:31:40.000+01:00 2016-01-02T16:31:40.000+01:00
2017-01-01T16:31:40.000+01:00 2017-01-02T16:31:40.000+01:00
当我尝试的时候
A = LOAD '/user/inp.txt' USING PigStorage('\t') as (col_1:chararray,col_2:chararray);
我得到的结果如下:-倾倒;
(,2016-01-03T19:28:58.000+01:00,2016-01-02T16:31:40.000+01:00)
(,2017-01-03T19:28:58.000+01:00,2017-01-02T16:31:40.000+01:00)
不知道为什么?请有人能帮我在这个如何解析标签分离的文件,以及如何转换该字符到日期和过滤的基础上,日差?
谢谢
1条答案
按热度按时间anauzrmj1#
使用todate和use daysbetween将列转换为datetime对象。这应该给出差异,如果差异==1,则筛选。最后将其加载到配置单元。