以下是我的csv格式数据示例:
6/30/2014 23:57,2006,604,131
7/1/2014 0:24,2217,263,143
6/30/2014 23:26,173,3481,134
...
我想将这个csv文件加载到impala表中,并将第一列作为“timestamp”:
CREATE TABLE my_table(col1 timestamp, col2 int, col3 int, col4 int)
row format delimited
fields terminated by ',';
LOAD DATA INPATH '/dataset/data' INTO TABLE my_table;
但impala接受时间戳的格式如下:
YYYY-MM-DD HH:MM:SS.sssssssss
我的数据是:
MM/DD/YYYY HH:MM
如何以最快的方式将数据转换为时间戳,以供 Impala 读取?我想用 regexp_replace
但未能成功地生成一个好的正则表达式。
2条答案
按热度按时间6psbrbz91#
我正在尝试使用regexp\u replace,但是没有成功地生成一个好的正则表达式
用正则表达式从难看的日期格式中提取单个字段,然后用老printf重建一致的格式,怎么样?
2014-07-01 00:24:00.000000
5m1hhzi42#
from\u unixtime(unix\u timestamp(timestamp,'input\u format'))解决方案可以与hive一起使用,但是,不管出于什么原因,它都不能与impala一起使用。我认为这是一个bug,建议您提交给cloudera。