将6位数日期转换为8位数

时间:2015-06-19 15:11:58

标签: datetime apache-pig cloudera

我有一个|分隔文件,其值为150330,代表日期。要标准化,我需要将此值转换为2015-03-30。由于转换次数较少,我需要在Pig中执行此操作。

尝试ToDate& DateTime功能,没有任何运气。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

如果您需要转换" 150330"进入" 2015-03-30",这不是日期问题,而是字符串操作

  1. 使用SUBSTRING获得15,03,30
  2. 使用CONCAT加入所有子字符串。
  3. 然而,正如所说的@ murali-rao,你必须知道你是否处理19xx或20xx日期。

答案 1 :(得分:0)

你可以按照以下方式使用猪功能

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

输出是     (手绘POP练习)