在sqoop导入中使用24小时时间戳

rggaifut  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(470)

我正在尝试使用自由形式的查询从oracle导入数据,需要以24小时格式存储时间戳。

sqoop import --connect jdbc:oracle:thin:(server credntials) \
 --username*****--password*****\
 --query "select emp_uid, emp_name, salary, to_char(create_timestamp, 'YYYY-MM-DD HH24:MI:SS'), to_char(last_sal_update_timestamp, 'YYYY-MM-DD HH24:MI:SS'), coalesce(to_char(last_sal_update_timestamp, 'YYYY-MM-DD HH24:MI:SS'),to_char(create_timestamp, 'YYYY-MM-DD HH24:MI:SS')) as hadoop_import_timestamp from emp.emp_sal where last_sal_update_timestamp < (to_char('2013-01-21 09:16:20', 'YYYY-MM-DD HH24:MI:SS')) and \$CONDITIONS" \
 --split-by "to_char(hadoop_import_timestamp, 'YYYY-MM-DD HH24:MI:SS')" \
 --target-dir /user/sal/emp_sal \
--map-column-hive CREATE_TIMESTAMP=TIMESTAMP,LAST_SAL_UPDATE_TIMESTAMP=TIMESTAMP,HADOOP_IMPORT_TIMESTAMP=TIMESTAMP \
--hive-import \
--hive-table empdet.empsal \
--hive-drop-import-delims

但是我在尝试运行它时遇到了一个无效的数字错误

xxb16uws

xxb16uws1#

当split by与主键(emp\u uid)一起使用时,它可以工作

相关问题