sqoop导入导出数据

本文详细介绍了如何使用Sqoop进行数据迁移,包括从MySQL导入数据到HDFS、Hive、Hbase,以及反向将HDFS、Hive、Hbase的数据导回MySQL。在实践中,遇到了权限问题、通信链接失败、jar包缺失等问题,并给出了相应的解决方案。重点讲解了授权设置、错误排查和所需jar包的添加。

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

导入:MySQL==> HDFS、Hive、Hbase

导出:HDFS、Hive、Hbase ==>  MySQL

一、安装,配置环境

1、下载压缩包

2、配置文件sqoop.env.sh

3、验证:bin/sqoop  help

4、拷贝jdbc驱动到sqoop/lib

5、连接MySQL

[root@master sqoop-1.4.7]# ./bin/sqoop list-databases --connect jdbc:mysql://master:3306/ --username root --password 111111

 


二、实践

1、启动MySQL:

mysql -uroot -p111111

2、创建员工表

-- 创建公司company数据库
create database company

-- 在公司company数据库下创建员工表staff
create table company.staff(id int(4) primary key not null auto_increment,
                           name varchar(255),                             
                           sex varchar(255));


-- 在员工表中插入数据
insert into company.staff(name,sex) values('Thomes','Male');
insert into company.staff(name,sex) values('Catalina','Female');

全量数据导入:

./bin/sqoop import \
--connect jdbc:mysql://localhost:3306/company \
--username root \
--password 111111 \
--table staff \
--target-dir /user/company \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t"

错误一:

Error: java.lang.RuntimeException: java.lang.RuntimeException: java.sql.SQLException: null,  message from 
server: "Host 'slave1' is not allowed to connect to this MariaDB server&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值