十八、通过Sqoop2-Shell将HDFS中的数据导出到MySQL

本文详细介绍了如何通过Sqoop2的命令行shell将HDFS中的数据导出到MySQL数据库,包括Sqoop2的两种运行模式、链接器的使用以及具体的数据迁移步骤。在数据迁移过程中,需要配置mapred-site.xml,创建hdfs和jdbc链接,然后创建并执行job。同时,文章也提到了遇到的问题及解决方案,如配置mapreduce.jobhistory.address以查看任务状态。
摘要由CSDN通过智能技术生成
一、Sqoop2提供了能够使用REST接口与Sqoop 2服务器通信的命令行shell。客户端可以在两种模式下运行——交互模式和批处理模式。批处理模式目前不支持create、update和clone命令。交互模式支持所有可用的命令。
二、Sqoop2新增了Sqoop中没有的链接器,我们主要是通过链接器的方式来实现数据的create、update和clone,简单说明一下链接器的使用过程并通过一个实例来掌握:使用链接器首先要的是相关链接器的Jar包,譬如你想要将数据从hdfs中传输到mysql,那么你至少需要使用官方提供hdfs数据传输的封装包和jdbc的相关封装包,我们首先需要创建两个链接hdfs-link和jdbc-link,并且配置好这两个链接,然后通过这两个link来创建一个job,并且配置好job,最后start这个job,Java角度来看可以把创建link看作class的对象实例,调用的jar包为class,job看作main函数,start也就是代码执行。
三、将HDFS的数据导出Mysql数据库

1、hadoop配置mapred-site.xml,这个主要是为了Sqoop2能够查看自身的各种status,譬如查看Job是否执行成功

<property>
  <name>mapreduce.jobhistory.address</name>
  <value>master:10020</value>
</property>
$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver

2、在Sqoop2客户端设置Sqoop2的Server,12000为默认端口

sqoop:000> set server --host master --port 12000 --webapp sqoop

3、准备HDFS和MYSQL上的数据
在这里插入图片描述
HDFS上的需要注意,文件夹下只放一个有数据的文件,其它的需要删除
在这里插入图片描述
MYSQL上的表需要注意,我这里的数据是用来进行数据分析的,我的业务的原因࿰

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值