Hive 时间戳总是 returns null
Hive timestamp always returns null
我正在尝试创建 HIVE ORC table。
我创建 ORC table 的方法如下:
我创建了 2 个具有相同结构的配置单元 table(一个 OCR 和第二个 TEXTFIle)。
例如我有一个 EMPLOYEE_ORC 和 EMPLOYEE_TEXT table
我加载数据到文本table(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 有一个存储为字符串的时间戳。我正在尝试将其转换为 ORC table 的时间戳。由于某些原因,我总是将值设为 null。
INSERT OVERWRITE TABLE COMPANY.EMPLOYEE_TEXT
SELECT
from_unixtime(unix_timestamp(Date_Time_Stamp, 'yyyyMMddHHmmssSSS')),
NAME
FROM
COMPANY.EMPLOYEE_TEXT;
我看到配置单元 table 中有数据,但 ORC 中的时间戳始终 returns 为空。
示例时间戳格式为:“20171109 14:37:57:026000 -0500”;
我可以让它与这个功能一起工作。
from_unixtime(unix_timestamp('20171109 14:37:57:026000 -0500','yyyyMMdd HH:mm:ss:SSSSSSSSS ZZZ'))
我正在尝试创建 HIVE ORC table。
我创建 ORC table 的方法如下:
我创建了 2 个具有相同结构的配置单元 table(一个 OCR 和第二个 TEXTFIle)。 例如我有一个 EMPLOYEE_ORC 和 EMPLOYEE_TEXT table
我加载数据到文本table(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 有一个存储为字符串的时间戳。我正在尝试将其转换为 ORC table 的时间戳。由于某些原因,我总是将值设为 null。
INSERT OVERWRITE TABLE COMPANY.EMPLOYEE_TEXT
SELECT
from_unixtime(unix_timestamp(Date_Time_Stamp, 'yyyyMMddHHmmssSSS')),
NAME
FROM
COMPANY.EMPLOYEE_TEXT;
我看到配置单元 table 中有数据,但 ORC 中的时间戳始终 returns 为空。 示例时间戳格式为:“20171109 14:37:57:026000 -0500”;
我可以让它与这个功能一起工作。
from_unixtime(unix_timestamp('20171109 14:37:57:026000 -0500','yyyyMMdd HH:mm:ss:SSSSSSSSS ZZZ'))