Sqoop1 使用

sqoop安装

        sqoop安装还算简单,再服务器上解压安装文件。sqoop安装目录如下:

        修改配置文件conf/sqoop-env.sh(我自己改过名),指定hadoop和hive。

        lib目录添加ojdbc和java_json的驱动包。

sqoop使用

        oracle导入hdfs

bin/sqoop import \

--connect jdbc:mysql://hadoop102:3306/company \

--username root \

--password 000000 \

--table staff \

--target-dir /user/company \

--num-mappers 1 \

--fields-terminated-by "\t"

# 以下选加

--query 'select name,sex from staff where id <=1 and $CONDITIONS

--columns id,sex \

--where "id=1"

        oracle导入hive

bin/sqoop import \

--connect jdbc:mysql://hadoop102:3306/company \

--username root \

--password 000000 \

--table staff \

--num-mappers 1 \

--hive-import \

--fields-terminated-by "\t" \

--hive-overwrite \

--hive-table staff_hive

        hive导出oracle

bin/sqoop export \

--connect jdbc:mysql://hadoop102:3306/company \

--username root \

--password 000000 \

--table staff \

--num-mappers 1 \

--export-dir /user/hive/warehouse/staff_hive \

--input-fields-terminated-by "\t"

注意事项:

        基本的语法就这些,下面有几条注意事项,都是自己踩的坑。

                1) 导出数据时,oracle上的表要建好。

                2) 连接oracle的话,oracle的表明要大写。

                3)sqoop导出数据时,只支持全量导出或增量导出。无法选定列,如需制定列,可以再hive端处理分析合适后再用sqoop导出。

                4) 尚硅谷文档中的sqoop脚本执行的方法不是很好用,建议直接写在shell脚本中执行。

其他

        补充一点在尝试过程中遇到的hive的问题。之前我们自己生成的hive数据(内部表)的底层文件全都是deflate压缩文件,sqoop是直接拿底层文件做解析传输,所以压缩文件无法操作。查询了一些资料,需要更改hive的配置文件,有一个reduce输出自动压缩的选择需要设置为false。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值