我正在尝试使用自由格式查询从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
但是在尝试运行它时出现无效的数字错误
答案 0 :(得分:0)
当拆分与主键(emp_uid)
时,它有效