我一直在尝试转换ISO日期格式('2016-06-23T20:04:41.914Z'),它是字符串到日期数据类型。在Pig Docs中,有一个函数ToDate将字符串转换为Date({ {3}})。 所以我尝试了不同的方式:
1
b = FOREACH a GENERATE ToDate(status_date,'yyyy-MM-dd hh:mm:ss.SSS);
错误:
引起:java.lang.IllegalArgumentException:格式无效:“2016-06-23T20:04:41.914Z”格式错误在“T20:04:41.914Z”
2
b = FOREACH a GENERATE ToDate(status_date);
错误:
引起:java.lang.IllegalArgumentException:格式无效:“”
3
b = FOREACH a GENERATE ToDate(status_date,'yyyy-MM-ddThh:mm:ss.SSSZ');
错误:
引起:java.lang.IllegalArgumentException:非法模式组件:T
如果我遗失了某些内容,或者除了编写udf和使用concat之外还有其他方法,请告诉我。 如果需要任何其他信息,请与我们联系。
答案 0 :(得分:1)
第二种方法应该有效,你的数据有一些记录有字段status_date是否为空?