使用sqoop把Hive导入到mysql,再mysql导入到hbase操作

sqoop把hive导入mysql

首先我们的hive表为:

在hdfs上的源数据路径如下:这个路径在你安装hive的时候的hive-site.xml的配置里有配置,具体看你配置文件

现在mysql端创建我们要导进来的表,这创建语句可以自行百度,没啥难度,这里mysql的表为trips

我安装好的sqoop版本是1.4的

sqoop语句为:

sqoop export --connect jdbc:mysql://master:3306/hive_test --username root --password root --table trips --num-mappers 1 --export-dir /user/hive/warehouse/hive_test/trips_test --input-fields-terminated-by ","

参数说明:

--connect jdbc:mysql://master:3306/hive_test 为mysql的连接器,hive_test为MySQL刚刚创建的数据库,具体看上面mysql创建导入表那步骤

--username root --password root --table trips mysql数据库的用户名跟密码,还有要导入的表,这里的trips为刚刚mysql创建的导入表

--num-mappers 运行的的map数

--export-dir /user/hive/warehouse/hive_test/trips_test 这里为hive在hdfs上的源数据路径,具体看上面hive源数据路径

--input-fields-terminated-by "," 导入的时候是按照逗号分割的,因为我的数据文件是csv导入进来的,故需要此参数,如果不是csv的文件的,看你源数据里面是的每列分隔符

运行结果

Mysql查看数据是否导入成功:

sqoop把MySQL导入到hbase

进入hbase shell创建一个表名为trips,列族为info的测试表

使用sqoop命令将mysql中的trips数据导入到hbase的trips表

sqoop命令

sqoop import --driver com.mysql.jdbc.Driver --connect "jdbc:mysql://master:3306/hive_test?zeroDateTimeBehavior=convertToNull" --username root --password root --table trips --columns userid,instationname,intime,outstationname,outtime,path,price --hbase-table trips --column-family info --hbase-row-key userid --hbase-create-table -m 1

参数说明:

--driver com.mysql.jdbc.Driver --connect "jdbc:mysql://master:3306/hive_test?zeroDateTimeBehavior=convertToNull" mysql连接器

--username root --password root --table trips mysql数据库的用户名和密码,还有要导出来的表trips_test

--columns userid,instationname,intime,outstationname,outtime,path,price mysql的trips表里的列名,看需求选择列名,我这里是全部导入到hbase表,故选择7个列名,相反,想导入哪个列到hbase,就指定哪些列

--hbase-table trips --column-family info hbase的表名和列族

--hbase-row-key userid 指定行键为哪个列,该userid必须存在前面指定导入的列名中

--hbase-create-table -m 1 默认创建一个表

运行结果:

查询hbase中的trips表是否导入成功!

感谢大家的观看!!

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一条小海龟

谢谢你的打赏,微臣会好好努力达

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值