我正在尝试使用sqoop将oracle表直接导入到配置单元中。
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表。提到每个表的所有Map列是很乏味的。
环境:
hadoop-2.6.0版
sqoop-1.4.6版本
Hive-2.3.0
java-1.8版本
双节点群集
提前谢谢!
1条答案
按热度按时间nue99wik1#
您可以将所有表从oracle导入hdfs(sqoop import all tables{generic args}{import args}),并根据您的需求创建一个外部和内部表。