sqoop(一):sqoop导出数据到postgresql时设置schema的问题

sqoop导出数据到postgresql时设置schema的问题

1、概述

大家好,我是欧阳方超。
最近有个操作是把数据从hive导到postgresql,使用的工具是sqoop,在实现将数据导到postgresql数据库指定模式下的表时,着实折腾了一番。

2、如何指定模式

在将数据从hive导出到postgresql时,如果不指定schema,默认是导出到public模式下,那么在将数据导入到postgresql时应该怎么指定模式名呢,在sqoop官网可以看到下面的细节,
If you need to work with tables that are located in non-default schemas, you can specify schema names via the --schema argument. Custom schemas are supported for both import and export jobs. For example:

sqoop import ... --table custom_table -- --schema custom_schema

意思是可以使用-- --schema 模式名的方式来指定模式名,需要注意的是,该参数需要放在导入或导出命令的最后,放在中间或其他位置是无效的。

3、延伸

上面是在命令行执行sqoop命令时加模式名的方法,如果是调用Sqoop.runSqoop(sqoop, data)方法,其中第二个参数是字符串数组,该数组中的元素由sqoop的相关参数及相应的值组成,其中在拼接模式名时也应该放在最后,而且还要注意需要保证----schema分别作为字符串数组的两个元素,而不是他们俩写在一起作为一个元素,否则sqoop依然识别不了schema。

4、总结

本文记录了在命令行及其Java程序中如何将数据导到postgresql的指定模式中,有这类需求的可以参考一二。
我是欧阳方超,把事情做好了自然就有兴趣了,如果你喜欢我的文章,欢迎点赞、转发、评论加关注。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值