博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sqoop迁移Hadoop与RDBMS间的数据
阅读量:5144 次
发布时间:2019-06-13

本文共 2587 字,大约阅读时间需要 8 分钟。

      Sqoop是用来实现结构型数据(如:关系型数据库RDBMS)和Hadoop之间进行数据迁移的工具。它充分利用了MapReduce的并行特点以批处理的方式加快数据的传输,

同时也借助MapReduce实现容错。

一、将MySQL中的表迁移到HDFS上(RDBMS —> HDFS)

  1. 导入MySQL"db_sqoop.mysql_emp表"所有数据到HDFS中;
    sqoop import \--connect jdbc:mysql://hadoopone:3306/db_sqoop \--username root \--password root \--table mysql_emp \--target-dir /data/hdfs_sqoop \--delete-target-dir \--num-mappers 1    \--fields-terminated-by '\t'
    --table mysql中目标表;
    --target-dir hdfs存放目录;
    --delete-target-dir:若hdfs存放目录已存在,则自动删除;
    --num-mappers:指定maptask数量;
    --fields-terminated-by:各字段间的分隔符;
  2. 将MySQL的查询结果导入HDFS上;
    sqoop import \--connect jdbc:mysql://hadoopone:3306/db_sqoop \--username root \--password root \--target-dir /data/hdfs_sqoop \--delete-target-dir \--num-mappers 1    \--fields-terminated-by '\t' \--query 'SELECT emp_no,first_name,last_name FROM mysql_emp WHERE gender="M" and $CONDITIONS;'
    ”$CONDITIONS"表示将查询结果带回。
  3. 使用sqoop的关键字筛选查询后的结果导入到HDFS;
    sqoop import \--connect jdbc:mysql://hadoopone:3306/db_sqoop \--username root \--password root \--table mysql_emp \--target-dir /data/hdfs_sqoop \--delete-target-dir \--num-mappers 1    \--fields-terminated-by '\t' \--where "gender='F'"
  4. 从MySQL导入指定’列’到HDFS上;
sqoop import \--connect jdbc:mysql://hadoopone:3306/db_sqoop \--username root \--password root \--table mysql_emp \--target-dir /data/hdfs_sqoop \--delete-target-dir \--num-mappers 1    \--fields-terminated-by '\t' \--columns emp_no,gender,birth_date

二、MySQL  ——>   Hive (RDBMS ——> HIVE)

  1. 将MySQL中的表导入Hive中;
    sqoop import \--connect jdbc:mysql://hadoopone:3306/db_sqoop \--username root \--password root \--num-mappers 1    \--table mysql_emp \--hive-import \--hive-table db_hive_sqoop.hive_emp \--fields-terminated-by '\t' \--hive-overwrite \--delete-target-dir

三、MySQL –> Hbase(RDBMS ——> Hbase)

  1. 将MySQL中的表导入Hbase中;
sqoop import \--connect jdbc:mysql://hadoopone:3306/db_sqoop \--username root \--password root \--table book \--columns "id,name,price" \--column-family "info" \--hbase-create-table \--hbase-row-key "id" \--hbase-table "hbase_book" \--num-mappers 1  \--split-by id

四、HDFS/Hive —> MySQL (HDFS/Hive —> RDBMS)

  1. 在MySQL中创建对应的表,然后使用如下语句;
sqoop export \--connect jdbc:mysql://hadoopone:3306/db_sqoop \--username root \--password root \--table myqsl_dept \--num-mappers 1 \--export-dir /usr/hive/warehouse/db_hive_sqoop.db/hive_dept \--input-fields-terminated-by '\t'

五、导出MySQL表结构到hive

  1. 导出MySQL表结构;
    sqoop create-hive-table \--connect jdbc:mysql://hadoopone:3306/db_sqoop \--username root \--password root \--table mysql_stu \--hive-database db_hive_sqoop \--hive-table hive_stu

转载于:https://www.cnblogs.com/luomeng/p/10632853.html

你可能感兴趣的文章
rpm 校验
查看>>
搭建eureka服务
查看>>
二叉树
查看>>
c++浅复制和深复制
查看>>
在一个view类里面获取viewcontroller
查看>>
我的框架说明文档 2016-04-06
查看>>
【C/C++开发】C++ Thread对象封装
查看>>
【VS开发】VSTO 学习笔记(十)Office 2010 Ribbon开发
查看>>
【并行计算-CUDA开发】从熟悉到精通 英伟达显卡选购指南
查看>>
【计算机视觉】背景建模之PBAS
查看>>
http header Content-Type之常用三种
查看>>
[转]ab参数详解 – 压力测试
查看>>
线程ThreadDemo04
查看>>
windows平台下node,npm,gulp配置
查看>>
《C#并行编程高级教程》第5章 协调数据结构 笔记
查看>>
android开发 NDK 编译和使用静态库、动态库 (转)
查看>>
数学之美
查看>>
Android sd卡状态监听,文件搜索,媒体文件刷新
查看>>
[翻译]ASP.NET MVC4新特性之脚本压缩和合并
查看>>
UWP: 掌握编译型绑定 x:Bind
查看>>