sqoop 测试

本文详细介绍了如何在Hive和MySQL之间进行数据迁移。首先在MySQL创建表t1和t2,然后在Hive中创建对应的表,并插入数据。接着使用Sqoop将MySQL的数据导入到Hive的t1表中,最后通过Sqoop将Hive的t2表数据导出到MySQL。在过程中,还提到了处理jar包冲突的方法,确保导入和导出操作的顺利进行。
摘要由CSDN通过智能技术生成

1. mysql 创建表 t1 和 t2

t1 用于从 mysql 导入到 hive。
t2 用于从 hive 导出到 mysql

mysql -h localhost -u hive -p hive
use hive;
create table t1(c1 varchar(200));
insert into t1 values('abc');
create table t2(c1 varchar(200), c2 int);

2. 在 hive 中创建对应的表

create database hive;
create table t1(c1 string) stored as textfile;
create table t2(c1 string, c2 int) stored as textfile;
insert into t2 values("value1", 1);

3. 从 Mysql Import

export MYSQL_HOST=localhost
export MYSQL_PASSWORD
sqoop import --connect 'jdbc:mysql://${MYSQL_HOST}:3306/hive' --username hive --password "${MYSQL_PASSWORD}" --table t1 --fields-terminated-by ',' --hive-import --hive-table 'default.t1' --hive-overwrite  -m 1

4. export 到 Mysql

export 时直接指定的 hdfs 上的路径文件,没有经过 hive metastore。

sqoop export --connect 'jdbc:mysql://bmr-master-f9bd295-2:3306/hive' --username hive --password '*Hive123' --table t2  --fields-terminated-by '\001' --export-dir 'hdfs://bmr-cluster/warehouse/tablespace/managed/hive/t2'

5. jar 冲突处理

如果和其他 jar 包有冲突,如方法找不到等,可以尝试把 hive 的 jar 包放在前面。在执行 import 和 export 之前,执行以下语句。

export HADOOP_CLASSPATH=/opt/bmr/hive/lib/*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值