Sqoop介绍及数据迁移

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过滤导入表
  • columnsÿ
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值