A = LOAD 'input' USING PigStorage() AS(year:int,month:int,date:int);
B = FOREACH A GENERATE SPRINTF('%04d-%02d-%02d',year,month,date) AS (finaldate:chararray);
DUMP B;
REGISTER leftformat.jar;
A = LOAD 'input' USING PigStorage() AS(year:chararray,month:chararray,date:chararray);
B = FOREACH A GENERATE CONCAT(year,'-',CONCAT(month,'-',date)) AS finalDate;
C = FOREACH B GENERATE format.LEFTFORMAT(finalDate);
DUMP C;
1条答案
按热度按时间9lowa7mx1#
你可以用三种方法解决这个问题。
选项1:如果您安装了
pig 0.14 version
那就试试这个方法输入
Pig手稿:
输出:
reference:http://pig.apache.org/docs/r0.14.0/func.html#sprintf
选项2:pig版本0.13或更低(使用自定义udf)
Pig手稿:
输出:
leftformat.java文件
参考文献:
左撇子
这将帮助您如何编译、构建jar并链接到pig脚本。
选项3:
您可以使用以下任何受支持的格式
在下面的链接中检查支持的格式。
人类可读的字符串日期转换为日期使用Pig?