Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Datetime 在Pig中解析自定义日期时间_Datetime_Hadoop_Apache Pig - Fatal编程技术网

Datetime 在Pig中解析自定义日期时间

Datetime 在Pig中解析自定义日期时间,datetime,hadoop,apache-pig,Datetime,Hadoop,Apache Pig,我有以下字符串“2014-12-15 18:20:48”,但当我解析为datetime时: A = LOAD 'input.txt' AS (mydate:chararray); B = FOREACH A GENERATE ToDate(mydate) as datetime; 我收到这个错误:“2014-12-15 18:20:48”在“18:20:48”处格式不正确。 或者,当我指定格式ToDate(mydate,'yyyyy-MM-dd HH:MM:ss')日期时间转换为“2014-1

我有以下字符串
“2014-12-15 18:20:48”
,但当我解析为datetime时:

A = LOAD 'input.txt' AS (mydate:chararray);
B = FOREACH A GENERATE ToDate(mydate) as datetime;
我收到这个错误:
“2014-12-15 18:20:48”在“18:20:48”处格式不正确。

或者,当我指定格式
ToDate(mydate,'yyyyy-MM-dd HH:MM:ss')
日期时间转换为
“2014-12-15T18:20:48.000Z”
而不是
“2014-12-15 18:20:48”
。我如何解决这个问题,给我键入datetime?“2014-12-15 18:20:48”

如果我们将字符串传递给ToDate函数,字符串应该是iosstring格式(参考文献[1])

ToDate(字符串)

在第一种情况下,输入字符串不是iosstring格式(缺少T分隔符,表示时间元素的开始)。如果输入字符串为 iosstring格式(参考文献[1]),它可以工作

在第二种情况下,您正在调用ToDate的重载方法:

ToDate(用户字符串,格式)

所有ToDate方法的返回类型为DateTime对象

如果要以字符串形式获取日期,并且需要以任何其他格式进行进一步处理,则必须在ToDate()方法的基础上使用ToString()方法才能在 所需格式

参考文献:

  • iostring格式:
  • ToDate():
  • ToString():
  • ToDate()函数的返回类型是Joda DateTime对象()。您的目标是什么?如果您希望以任何其他日期格式将其作为字符串,则可以使用toString()函数。