Sqoop介绍及数据迁移

本文详细介绍了Sqoop工具在数据迁移中的应用,包括从RDBMS导入数据到HDFS、Hive和HBase,以及从HDFS导出数据到MySQL。讲解了不同场景下的导入导出方式,如使用Where语句、COLUMNS过滤、query方式和增量导入,并涵盖了不同的文件格式和分区策略。
摘要由CSDN通过智能技术生成

Sqoop介绍

1、Sqoop是一个用于在Hadoop和关系数据库之间传输数据的工具

  • a)将数据从RDBMS导入到HDFS
    HDFS、Hive、HBase
  • b)从HDFS导出数据到RDBMS
  • c)使用MapReduce导入和导出数据,提供并行操作和容错

2、目标用户

  • a)系统管理员、数据库管理员
  • b)大数据分析师、大数据开发工程师等

数据迁移

一、从RDB导入数据到HDFS

1、导入表到HDFS

1、语法如下所示:
在这里插入图片描述
注:sqoop-import是sqoop import的别名
案例:
`bin/sqoop-import --connect jdbc:mysql://hadoop001:3306/hive --driver com.mysql.jdbc.Driver --table TBLS --username root --password ok --target-dir /data/tbls --m 3
在这里插入图片描述
在这里插入图片描述

2、如果出现sqoop异常:Exception in thread “main” java.lang.NoClassDefFoundError: org/json/JSONObject
解决方案:
这是因为sqoop缺少java-json.jar包. 下载jar包导入lib目录下

  • 1)下载java-json.jar压缩包并解压
    在这里插入图片描述
    在这里插入图片描述
  • 2)将java-json.jar包导入/opt/sqoop/lib目录下
    在这里插入图片描述
1.1 通过Where语句过滤导入表
  • where:条件语句
  • delete-target-dir:如果目标目录存在,则删除

语法如下所示:
在这里插入图片描述
案例:

bin/sqoop-import \
--connect jdbc:mysql://hadoop001:3306/hive \
--table TBLS \
--where "owner='root'" \
--username root \
--password ok \
--delete-target-dir \
--target-dir /data/tbls/ \
--m 3

在这里插入图片描述
#查看数据:hdfs dfs -cat /data/tbls/part-m-00000
在这里插入图片描述

1.2 通过COLUMNS过滤导入表
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值