通过 PIG 导入数据
Importing Data Through PIG
我有一个简单的 csv 文件
1,2,3,6/23/2011 7:40,KNOWS NOT MUCH,4,5
2,3,4,6/23/2011 7:40,FOO BAR BAZ, 6, 7
我在hdfs上复制了这个,我写了这个程序
grunt> A = LOAD '/staging/foo.csv' USING PigStorage(',') AS (A : int, B : INT, C: INT, D: DATETIME, E: CHARARRAY, F : INT, G : INT);
grunt> DUMP A;
输出是
Total input paths to process : 1
(1,2,3,,KNOWS NOT MUCH,4,5)
(2,3,4,,FOO BAR BAZ,6,7)
日期部分怎么了?
datetime format
不支持您输入的 6/23/2011 7:40
,因此 pig 将在加载期间跳过此日期部分。要解决此问题,只需将日期 column D
声明为 chararray
并根据需要转换为以下任何格式。
参考支持的日期时间格式:
https://pig.apache.org/docs/r0.13.0/func.html#datetime-functions
http://www.w3.org/TR/NOTE-datetime
我有一个简单的 csv 文件
1,2,3,6/23/2011 7:40,KNOWS NOT MUCH,4,5
2,3,4,6/23/2011 7:40,FOO BAR BAZ, 6, 7
我在hdfs上复制了这个,我写了这个程序
grunt> A = LOAD '/staging/foo.csv' USING PigStorage(',') AS (A : int, B : INT, C: INT, D: DATETIME, E: CHARARRAY, F : INT, G : INT);
grunt> DUMP A;
输出是
Total input paths to process : 1
(1,2,3,,KNOWS NOT MUCH,4,5)
(2,3,4,,FOO BAR BAZ,6,7)
日期部分怎么了?
datetime format
不支持您输入的 6/23/2011 7:40
,因此 pig 将在加载期间跳过此日期部分。要解决此问题,只需将日期 column D
声明为 chararray
并根据需要转换为以下任何格式。
参考支持的日期时间格式:
https://pig.apache.org/docs/r0.13.0/func.html#datetime-functions
http://www.w3.org/TR/NOTE-datetime