来自Oracle的sqoop导入的配置单元中的数据类型错误

时间:2018-01-11 15:31:32

标签: oracle hive sqoop

我正在尝试使用sqoop直接将Oracle表导入hive。

Oracle表使用数据类型NUMBERVARCHAR2RAW

当我尝试时:

sqoop import ... --hive-import --hive-overwrite --hive-database default --fields-terminated-by '|' --hive-drop-import-delims --null-string '\\N' --null-non-string '\\N' --warehouse-dir "/test"

配置单元表中的所有数据类型都是doublestring,但我想要intdateNUMBER(1)Date类型。

我试过添加一些像

这样的标签
--map-column-hive O_abc=INT,O_def=DATE,pqr=INT,O_uvw=INT,O_xyz=INT.

我有什么方法可以自动,因为我需要导入150到200个表。提及每个表的所有地图列是很繁琐的。

环境:

  • Hadoop的2.6.0
  • Sqoop-1.4.6
  • 蜂房2.3.0
  • 的Java-1.8
  • 两个节点集群

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以将所有表从Oracle导入HDFS(sqoop import-all-tables {generic-args} {import-args}),并根据您的要求创建外部和内部表。