使用Sqoop将Oracle数据导入Hive的核心指令是,这段是我经常用的,有些地方做了处理
sqoop import
--connect jdbc:oracle:thin:eas/eas@192.168.100.199:1521:eas
--table TMP_NEEDCLEAN_PROVIDER2
--hive-import --hive-database xxx
--hive-table RPT_PROVIDER_NEEDCLEAN2
--hive-overwrite
--delete-target-dir
--hive-drop-import-delims
--null-string '' --null-non-string ''
-m1
1.–hive-database xxx 是指定hive库
2.–hive-overwrite 是覆盖表,因为hive的表,不支持原子级别的操作,一般都是全表覆盖的方式导入,看需要
- –hive-drop-import-delims是关于导入的标记的,删除记号是\0x01行分割是用 (\n\r)
4.关于–null-string和–null-non-string,
–null-string的含义是 string类型的字段,当Value是NULL,替换成指定的字符,该例子中为” <-数据库那种空值
–null-non-string的含义是非string类型的字段,当Value是NULL,替换成指定字符,该例子中为”<-数据库那种空值
如果用mysql,可以用
sqoop import
--connect jdbc:mysql://localhost:3306/sqoop
--username root
--password root
--table student
--null-string '@@@'
--null-non-string '###'