我正在尝试使用pig内置的日期函数。
输入文件中包含日期 yyyy-mm-dd hh:mi:ss
格式。
我正在尝试使用以下代码:
row = foreach log generate FLATTEN(REGEX_EXTRACT_ALL (pattern) AS (date_time : datetime, other columns);
final_data = foreach row {
yyyy = (chararray)GetYear(date_time);
mm = (chararray)GetMonth(date_time);
dd = (chararray)GetDay(date_time);
hh = (chararray)GetHour(date_time);
mi = (chararray)GetMinute(date_time);
ss = (chararray)GetSecond(date_time);
generate CONCAT(CONCAT(CONCAT(yyyy, '-'), CONCAT(mm, '-')),dd) as myDate;
}
但我有个错误:
ERROR 1066: Unable to open iterator for alias final_data. Backend error : java.lang.String cannot be cast to org.joda.time.DateTime
我正在尝试在generate语句中使用变通方法from:formattingdate
需要什么格式?
1条答案
按热度按时间5tmbdcev1#
regex\u extract\u全部接受一个字符串并返回一个包含提取字符串的元组,即不能提取到
DateTime
领域。您可以对加载的日期字符串使用todate自定义项:
例如: