将6位日期转换为8位

irtuqstp  于 2021-06-25  发布在  Pig
关注(0)|答案(2)|浏览(385)

我有一个 | 分隔文件,其值如下 150330 ,表示日期。为了标准化,我需要将这个值转换为 2015-03-30 . 我需要在Pig做,因为很少更多的转换。
尝试 ToDate & DateTime 功能,没有任何运气。
有什么建议吗?

jobtbby3

jobtbby31#

如果需要将“150330”转换为“2015-03-30”,这不是日期问题,而是字符串操作
使用 SUBSTRING 得到15,03,30
使用 CONCAT 加入所有子串。
然而,正如@murali rao所说,你必须知道你的交易日期是19xx还是20xx。

vaqhlq81

vaqhlq812#

您可以按以下方式使用pig函数

B = foreach A GENERATE SUBSTRING(ToString(ToDate('150330','yyMMdd')),0,10);

输出为(2015-03-30)

相关问题