我正在尝试使用sqoop直接将Oracle表导入hive。
Oracle表使用数据类型NUMBER
,VARCHAR2
,RAW
当我尝试时:
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"
配置单元表中的所有数据类型都是double
或string
,但我想要int
,date
等NUMBER(1)
,Date
类型。
我试过添加一些像
这样的标签--map-column-hive O_abc=INT,O_def=DATE,pqr=INT,O_uvw=INT,O_xyz=INT.
我有什么方法可以自动,因为我需要导入150到200个表。提及每个表的所有地图列是很繁琐的。
环境:
提前致谢!
答案 0 :(得分:1)
您可以将所有表从Oracle导入HDFS(sqoop import-all-tables {generic-args} {import-args}),并根据您的要求创建外部和内部表。