4- sqoop语法

Sqoop的安装很简单,直接解压配置相关hdfs信息,另外一个重要的是与关系库的驱动包,如果是oracle则要ojdbc14.jar,classes12.jar包,如果是mysql则要mysql-connector-java-5.1.32-bin.jar,为了方便大家下载可以直接到下面地址下载后,放到sqoop安装的lib目录下。

百度网盘:https://pan.baidu.com/s/17bbONXJagoOVoxYNOpdAhA

提取码:rbel

另一个要注意的是,因为我们是用的虚似机,网络用的是NAT方式,我们的关系库是放在缩主机上,所以需要从虚似机ping通我们的缩主机,需要在VM的虚似网络编辑器里设置下NAT设置,设置下网关IP,如下图:

 

1:导入(RDB到HDFS):

sqoop import --connect "jdbc:oracle:thin:@192.168.1.102:1521:orcl" --username "blt" --password "orcl" --query "select * from t_abc_dept WHERE \$CONDITIONS and 1=1" --null-string '\\N' --null-non-string '\\N'  --target-dir /dm/fin_abc/bsl/t_abc_dept --fields-terminated-by '\001' --hive-drop-import-delims  --split-by dept_id -m 8 --delete-target-dir

参数说明:

--connect:关系库连接串

--username:关系库用户名

--password:关系库密码

--query:查询脚本,我们从关系库里取到的数据

\$CONDITIONS:此参数必须跟在query参数后

--null-string:字符类型的字段为NULL时处理的字符

--null-non-string:非字符类型的字段为NULL时处理的字符

--target-dir:存放数据的目录

--fields-terminated-by:字段的分隔符

--split-by:并行导入的分隔的字段

-m:并行数

--delete-target-dir:导入前删除目标目录

 

2:导出(HDFS到RDB)

sqoop export --connect "jdbc:oracle:thin:@192.168.1.102:1521:orcl" --username "blt" --password "orcl" --table t_abc_dept --columns 'dept_id,dept_code,dept_name,load_tm' --export-dir /dm/fin_abc/bsl/t_abc_dept --fields-terminated-by '\001' --input-null-string '\\N' --input-null-non-string '\\N' -m 8

参数说明:

--table:关系库表名

--columns:关系库的列名

--export-dir:导出源头表的数据目录

 

一般在企业为了提升开发效率,我们在平台上做了界面封装,用户只需要一步步配置,后台生成对应的脚本,设置好调度后每天执行生成的脚本。不需要开发人员对每个一同步都来写脚本了,也防止的错误的脚本执行。

更多技术文章请关注公众号BLT328(长按后点识别图中二维码):

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值