欢迎访问wabc.cc — 源码交易 · 软件定制 · 建站服务一站式平台
全部分类
首页 - 首页 - 解决方案 - 推荐文章 - Sqoop数据迁移实战秘笈-迁移篇

Sqoop数据迁移实战秘笈-迁移篇

分类:推荐文章 · 发布:2025-12-20 · 浏览:8

经过我们是Sqoop的简单安装,接下来我们就可以操作Hive、Hadoop、Mysql三者之间数据迁移,在开始操作之前,大家一定要检查三者是否可以正常运行,我在s201服务器上安装的Mysql和Sqoop还有Hadoop的名称节点,测试成功后,那我们就一起学习吧!


1.list-tables&list-databases命令操作

list-tables和list-databases两个命令都是针对关系型数据库(可以通过jdbc连接的数据库/数据仓库)而言的,我们一般可以通过该命令查看对应数据库中的table&database的列表。基本命令格式为: sqoop (list-tables|list-databases) --connect jdbc_url --username user_name --password user_pwd

    实例:

    $> sqoop list-tables --connect jdbc:mysql://s201:3306/test --username hive --password hive

结果:显示出test数据中的所有表名


2.create-hive-table命令操作

create-hive-table命令根据关系型数据库中的表创建Hive表,不进行数据的copy,只进行表结构的copy。如果Hive中存在要创建的表,默认情况下不进行任何操作。

    命令格式:sqoop create-hive-table --connect jdbc_url --username db_name --password db_pwd --table db_table_name --hive-table hive_table_name

    实例:

    sqoop create-hive-table --connect jdbc:mysql://s201:3306/test --username hive --password hive --table teacher --hive-table hivetest

3.import命令操作

3.1 Mysql 

    -m 1:设置启动多少线程处理

    案例1:将Mysql表test中的数据导入Hive的teacher 表,Hive的teacher表不存在。

    sqoop import --connect jdbc:mysql://s201:3306/test --username hive --password hive  --table teacher --hive-table teacher  --hive-import -m 1

Mysql的数据文件存放目录:/user/hadoop

    案例2:将teacher表的数据导入到hdfs中。 input文件夹不允许存在

    sqoop import --connect jdbc:mysql://s201:3306/test --username hive --password hive --table teacher --target-dir /input  -m 1


4.Export命令操作

  Hive->Mysql

案例:hive表导出到Mysql中t2的表中 ,需要提前创建Mysql表

Hive默认的字段分隔符为'\001'

.$>sqoop export --connect jdbc:mysql://s201:3306/test --username hive --password hive  --table t2 --export-dir  /user/hive/warehouse/mydb.db/t2 --input-fields-terminated-by ','

Hdfs-->Mysql

需要提前创建Msyql表结构

数据如下:

                t2.data与表数据列一直

                1,zhangsan,20

                2,lisi,30

    $>sqoop export --connect jdbc:mysql://s201:3306/test --username hive --password hive  --table t2 --export-dir  /input/t2.data  --input-fields-terminated-by ','             

注意:Hive目录到表位置(文件夹)  hdfs目录到文件

通过我们上面案例讲解大家可以通过Sqoop进行Hadoop、Hive、Mysql三者的导入和导出,方便解决项目中的数据迁移问题。


上一篇:九斗鱼郭鹏:网贷平台“精耕细作” 应对“互联网金融下半场”
下一篇:拼多多商城平台定制

相关文章

源码分类

热门源码

最新资讯

联系我们