【发布时间】:2017-08-28 16:01:14
【问题描述】:
我对 Pig 非常陌生,因此在尝试在 Pig 中执行非常基本的处理时遇到了一些问题。
1- 使用 Pig 加载该文件
2- 编写一个处理逻辑来根据 Date 过滤记录,例如,这些行有 2 列 col_1 和 col_2 (假设列是 chararray ),我只需要获取 col_1 和之间有 1 天差异的记录col_2.
3- 最后将过滤后的记录存储在 Hive 表中。
输入文件(制表符分隔):-
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);
我得到的结果如下:- 转储 A;
(,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)
不确定为什么? 请有人帮助我解决如何解析制表符分隔的文件以及如何将该 chararray 转换为 Date 并根据 Day 差异进行过滤?
谢谢
【问题讨论】:
-
加载语句的架构部分很可能有空间。
-
谢谢,我解决了这个问题。实际上,一开始还有一个字段,我将其定义为 int ,更改为 long 并且有效。
标签: apache-pig