pig-如何将datetime转换为chararray

3phpmpom  于 2021-06-24  发布在  Pig
关注(0)|答案(2)|浏览(364)

我使用的是currenttime(),这是一种日期时间数据类型。不过,我需要一个字符。我有以下几点:

A = LOAD ...
B = FOREACH A GENERATE CurrentTime() AS todaysDate;

我尝试过各种方法,例如:

B = FOREACH A GENERATE (chararray)CurrentTime() AS todaysDate;

然而,我总是得到错误1052:无法将datetime转换为chararray。
有人知道我怎么做吗?顺便说一下,我对Pig很陌生。提前谢谢!

avkwfej4

avkwfej41#

您需要创建一个自定义自定义自定义项来进行转换(例如:请参阅 CurrentTime() 实施)。或者,你也可以查看我关于类似主题的答案,以获得解决方法。
如果你在aws上,那么使用他们的日期/时间自定义项。

2ekbmq32

2ekbmq322#

我有一个类似的问题,我不想使用自定义自定义自定义项中所描述的另一个答案。我是一个新的Pig,但它似乎是一个相当基本的操作,以证明需要一个自定义项。这个命令对我很有用:

B = FOREACH A GENERATE ToString(yourdatetimeobject, 'yyyy-MM-dd\'T\'HH:mm:ssz') AS yourfieldname;

您可以通过查看simpledateformat javadoc来选择所需的格式

相关问题