利用 Sqoop 将 Hive 和 MySQL 数据互导简单实验

本文介绍利用Sqoop实现Hive和MySQL数据互导的简单实验。内容包括下载、解压Sqoop,建立软连接,添加执行文件路径,拷贝MySQL java连接器的jar文件。还给出了测试步骤,如列出数据库和表、复制表结构、导入和导出数据等,并提供了参考链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Hadoop、Hive、MySQL安装(略)

2. 下载 Sqoop

http://www.apache.org/dyn/closer.lua/sqoop/1.4.6

3. 解压
tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

4. 建立软连接
ln -s sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop

5. 加执行文件路径
export PATH=$PATH:/home/grid/sqoop/bin

6. 把 MySQL java 连接器的 jar 文件拷贝到 Sqoop 的 lib 目录下
cp mysql-connector-java-5.1.38-bin.jar /home/grid/sqoop/lib/

7. 测试

(1)列出 MySQL 数据库中的所有数据库
sqoop list-databases --connect jdbc:mysql://192.168.56.104:3306?useSSL=false --username root --password 123456

(2)连接 MySQL 并列出数据库中的表
sqoop list-tables --connect jdbc:mysql://192.168.56.104:3306/test?useSSL=false --username root --password 123456

(3)将 MySQL 的 test.t1 表结构复制到 Hive 的 test 库中,表名为 mysql_t1
sqoop create-hive-table --connect jdbc:mysql://192.168.56.104:3306/test?useSSL=false --table t1 --username root --password 123456 --hive-table test.mysql_t1

注:该命令可以多次执行不报错

(4)将 MySQL 表的数据导入到 Hive 中
# 追加数据
sqoop import --connect jdbc:mysql://192.168.56.104:3306/test?useSSL=false --username root --password 123456 --table t1 --hive-import --hive-table test.mysql_t1

# 覆盖数据
sqoop import --connect jdbc:mysql://192.168.56.104:3306/test?useSSL=false --username root --password 123456 --table t1 --hive-import --hive-overwrite --hive-table test.mysql_t1

注:如果 MySQL 中的表没有主键则需要加 --autoreset-to-one-mapper 参数

(5)将 Hive 表的数据导入到 MySQL 中
sqoop export --connect jdbc:mysql://192.168.56.104:3306/test?useSSL=false --username root --password 123456 --table t2 --export-dir /user/hive/warehouse/test.db/mysql_t1

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值