我正在尝试使用自由形式的查询从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
但是我在尝试运行它时遇到了一个无效的数字错误
1条答案
按热度按时间xxb16uws1#
当split by与主键(emp\u uid)一起使用时,它可以工作