我正在尝试创建HIVE ORC表。
我创建ORC表的方法如下:
我创建了2个具有相同结构的hive表(一个OCR和第二个TEXTFIle)。 例如我有一个EMPLOYEE_ORC和EMPLOYEE_TEXT表
我将数据加载到文本表(Employee_TEXT)
LOAD DATA LOCAL INPATH '/hive/data/emp/emp.json' INTO TABLE COMPANY.EMPLOYEE_TEXT;
将数据从EMPLOYEE_TEXT复制到EMPLOYEE_ORC:
INSERT OVERWRITE TABLE COMPANY.EMPLOYEE SELECT * FROM COMPANY.EMPLOYEE_TEXT
我遇到的问题是: EMPLOYEE_TEXT的时间戳存储为String。我想尝试转换为ORC表的时间戳。由于某些原因,我总是将值设为null。
INSERT OVERWRITE TABLE COMPANY.EMPLOYEE_TEXT
SELECT
from_unixtime(unix_timestamp(Date_Time_Stamp, 'yyyyMMddHHmmssSSS')),
NAME
FROM
COMPANY.EMPLOYEE_TEXT;
我看到hive表中有数据,但ORC中的时间戳总是返回null。 示例TimeStamp格式为:" 20171109 14:37:57:026000 -0500&#34 ;;
答案 0 :(得分:0)
我可以使用此功能。
from_unixtime(unix_timestamp('20171109 14:37:57:026000 -0500','yyyyMMdd HH:mm:ss:SSSSSSSSS ZZZ'))