使用sqoop从Oracle到hive的日期导入问题

时间:2015-08-28 09:17:26

标签: oracle hadoop hive sqoop impala

我正在尝试将数据从Oracle导入到hive。 Oracle'LOAD_DATE'中有一列,其值的格式为'8/13/2015 2:55:17 AM'。导入后我得到的值如'2015-08-13 02:55:17.0'。导入的数据中缺少“AM”。请提供导入正确数据的解决方案。

这是我正在触发的命令,

sqoop import --connect jdbc:oracle:thin:@ ipaddr / dbname --username uname --password pword --table tname --hive-import --hive-table dbname.tname -m 1 --null- string'\ N'--null-non-string'\ N'--warehouse-dir /user/hive/warehouse/dbname.db/tname

2 个答案:

答案 0 :(得分:1)

以字符串类型复制到配置日期后,您可以使用以下查询以原始格式获取结果。 选择unix_timestamp(date_s,' MM / dd / yyyy hh:mm:ss a')作为tm,date_s来自DUAL;

答案 1 :(得分:0)

hive是否可能使用24h格式和oracle am / pm?如果hive将日期作为varchar导入,则对该列使用TO_CHAR(日期,格式),如:

SELECT to_char(SYSDATE,'MM/DD/YYYY HH12:MI:SS PM') FROM DUAL

PM将在AM和PM之间正确翻译。 这里有格式参考:http://docs.oracle.com/cd/B28359_01/server.111/b28286/sql_elements004.htm#CDEHIFJA