我使用一个查询从一个名为dual的伪表生成时间戳。但是,从该表返回的日期似乎无效。
select String(max(max_lid_date)) as prev_reqline_max_lid_date,from_unixtime(unix_timestamp(),'YYYY-MM-DD hh:mm:ss') as job_start_date,from_unixtime(unix_timestamp(),'YYYY-MM-DD 00:00:01') as pull_to_date from xxcss_ktn_req_line_detail_log;
查询结果:
prev_reqline_max_lid_date job_start_date pull_to_date
1970-01-01 00:00:00 2015-12-349 01:47:52 2015-12-349 00:00:01
双表结构:
hive (smart_advisor)> desc dual;
OK
col_name data_type comment
id string
从中检索日期的配置单元表的结构
hive (smart_advisor)> desc xxcss_ktn_req_line_detail_log;
OK
col_name data_type comment
job_start_date timestamp
job_end_date timestamp
pull_from_date timestamp
pull_to_date timestamp
min_lid_date timestamp
max_lid_date timestamp
record_count bigint
需要帮助解决pull\ to\ date和job\ start\ date列中的日期问题。这是我工作的日志表。
表xxcss\u ktn\u req\u line\u detail\u log只包含一条记录
hive (smart_advisor)> select * from xxcss_ktn_req_line_detail_log;
OK
xxcss_ktn_req_line_detail_log.job_start_date xxcss_ktn_req_line_detail_log.job_end_date xxcss_ktn_req_line_detail_log.pull_from_date xxcss_ktn_req_line_detail_log.pull_to_date xxcss_ktn_req_line_detail_log.min_lid_date xxcss_ktn_req_line_detail_log.max_lid_date xxcss_ktn_req_line_detail_log.record_count
NULL NULL NULL NULL NULL 1970-01-01 00:00:00 0
1条答案
按热度按时间ecbunoof1#
您传递的格式字符串错误。尤其是,您使用的是大写d(一年中的一天)而不是小写d。你可能还需要大写h而不是小写h,因为小写是12小时的am/pm时间。
试试吧
请注意,“yyyy-mm-dd hh:mm:ss”是默认值,因此您可以使用
hive当然使用java作为日期格式,因此您应该检查以下内容:http://docs.oracle.com/javase/7/docs/api/java/text/simpledateformat.html