猪 - 如何将日期时间投射到chararray

Mar*_*iaS 4 apache-pig

我正在使用CurrentTime(),它是一个日期时间数据类型.但是,我需要它作为一个chararray.我有以下内容:

A = LOAD ...
B = FOREACH A GENERATE CurrentTime() AS todaysDate;
Run Code Online (Sandbox Code Playgroud)

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

B = FOREACH A GENERATE (chararray)CurrentTime() AS todaysDate;
Run Code Online (Sandbox Code Playgroud)

但是,我总是得到ERROR 1052:无法将日期时间转换为chararray.

谁知道我怎么做到这一点?顺便说一句,我对猪很新.提前致谢!

Ava*_*lle 6

我有一个类似的问题,我不想使用另一个答案中描述的自定义UDF.我对Pig很新,但它似乎是一个非常基本的操作来证明UDF的需要.这个命令对我很有用:

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

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