在猪中正确加载日期时间

Posted

技术标签:

【中文标题】在猪中正确加载日期时间【英文标题】:properly loading datetime in pig 【发布时间】:2014-02-26 20:31:04 【问题描述】:

我正在加载一个包含日期时间列和长列的 tsv 文件:

A = LOAD 'tweets-clean.txt' USING PigStorage('\t') AS (date:datetime, userid:long);
DUMP A;

输入示例行:

Tue Feb 11 05:02:10 +0000 2014  205291417

那一行输出:

, 205291417

我该如何正确地做到这一点?

【问题讨论】:

【参考方案1】:

您希望将日期加载为 chararray (date:chararray),然后可以使用 FOREACH GENERATEToDate Pig 内置函数将其转换为日期时间。

格式字符串基于SimpleDateFormat

A = LOAD 'tweets-clean.txt' USING PigStorage('\t') AS (date:chararray, userid:long);
B = FOREACH A GENERATE ToDate(date, '<some format string>') AS date, userid;
DUMP B;

【讨论】:

@kskp 请点击 按钮询问。评论是为了澄清现有答案 对不起。会做的。

以上是关于在猪中正确加载日期时间的主要内容,如果未能解决你的问题,请参考以下文章

无法在猪中打开别名的迭代器

如何在猪中读取json数据?

如何在猪中使用 rcfilepigstorage

在猪中解析复杂的json?

多列组合在猪中唯一

在猪中找到原子的长度