sqoop

sqoop发行了2个版本,在同一个hadoop集群中不兼容,常用sqoop1的版本:
sqoop1: 1.4.x
sqoop2: 1.99.x版本
相同产品: 阿里DataX

架构

  • 客户端直接接入hadoop,通过任务调度生成mapreduce任务.
  • 可以对hadoop集群和数据库进行相互的导入导出

sqoop安装部署

基于
hadoop2.x
MapReduce
hive
mysql
hbase

  • 下载安装包, 并解压 (sqoop安装在hive客户端的服务器节点上)
  • 配置局部环境变量
  • 添加数据库驱动包到sqoop解压问价的lib目录下
  • 将sqoop解压文件夹的conf目录下的sqoop-env-template.sh模板文件更名为sqoop-env.sh
  • 注释代码,修改sqoop解压文件夹下的bin目录下的配置configure-sqoop,去掉HBase、HCatalog、Accumulo等未安装服务相关内容,已经安装可以不用注释
if [ ! -d "${HBASE_HOME}" ]; thenecho "Warning: $HBASE_HOME does not exist! HBase imports will fail."echo 'Please set $HBASE_HOME to the root of your HBase installation.'
fiif [ ! -d "${HCAT_HOME}" ]; thenecho "Warning: $HCAT_HOME does not exist! HCatalog jobs will fail."echo 'Please set $HCAT_HOME to the root of your HCatalog installation.'
fiif [ ! -d "${ACCUMULO_HOME}" ]; thenecho "Warning: $ACCUMULO_HOME does not exist! Accumulo imports will fail."echo 'Please set $ACCUMULO_HOME to the root of your Accumulo installation.'
fi

  • 测试
    sqoop version
  1. 启动mysql
  2. 连接数据库:sqoop list-databases -connect jdbc:mysql://[mysql服务器节点ip地址别名]:3306/ -username [数据库用户名] -password [数据库密码], list-databases:查看数据库.
    例子,查看数据库:sqoop list-databases -connect jdbc:mysql://node01:3306/ -username root -password 123456
    例子,查看mysql数据库中的表:sqoop list-tables -connect jdbc:mysql://node01:3306/mysql -username root -password 123456

sqoop参数

  • 导入参数
  • 导出参数

数据迁入

-1. mysql数据库迁移到HDFS

  • 创建脚本 , 集群名称:/hadoop-2.6.5/etc/hadoop/hdfs-site.xml文件中有设置
    - 执行脚本或者直接将脚本内容在Linux下一行执行
sqoop
import
--connect jdbc:mysql://node01:3306/sqoop
--username root
--password 123456
--table stu
-m1
-target
-dir hdfs://Credi/my02

-2. mysql数据库迁移到Hive

2.1导入到配置地址
  • 启动hive
  • 执行一下命名或脚本,
  • hive-import会去找hive环境变量:/apache-hive-1.2.1-bin/conf/hive-site.xml文件下配置的数据存放路径,数据会自动存放在该路径下
  • 如果执行前没有启动hive, 找不到环境变量,数据会被存到usr/root本地目录下,并报错
    ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 1
sqoop
import
--connect jdbc:mysql://node01:3306/sqoop
--username root
--password 123456
--table stu
-m1
--hive-import

//hive-import会去找have环境变量:apache-hive-1.2.1-bin/conf/hive-site.xml文件下配置的数据存放路径,数据会自动存放在该路径下

2.2 导入到指定地址
  • 将数据导入hive数据库目录下的stu表中,但此时该表无法使用
sqoop
import
--connect jdbc:mysql://node01:3306/sqoop
--username root
--password 123456
--table stu
-m1
-target-dir hdfs://Credi/user/hive_local/warehouse/stu
  • 设计好表结构,手动创建stu表,之后数据会自动导入.

-3. mysql数据库迁移到Hbase

数据导出

-1.从hdfs导出到mysql

  • 在mysql建立一张空表
  • 执行sqoop命令或脚本
sqoop
export
--connect jdbc:mysql://node01:3306/sqoop
--username root
--password 123456
--table stu
--export-dir /my02/part-m-00000
  • 注意:导入hdfs的数据文件分隔符是’,’ , 导入hive的数据文件分隔符是隐藏分隔符

-2.从hive导出到mysql

  • 从hive导出唯一的区别是,hive表的数据分隔符是隐藏分隔符
  • 执行如下命令
sqoop
export
--connect
jdbc:mysql://node01:3306/sqoop
--username root
--password 123456
--table stu
--export-dir /user/hive_local/warehouse2/stu/part-m-00000
--input-fields-terminated-by '\001'

sqoop数据迁移工具相关推荐

  1. Sqoop数据迁移工具的使用

    文章作者:foochane 原文链接:https://foochane.cn/article/2019063001.html Sqoop数据迁移工具的使用 sqoop简单介绍 sqoop数据到HDFS ...

  2. 3.2.3 Sqoop 数据迁移工具, 导入数据import, MySQL到HDFS/Hive, 导出数据export,增量数据导入, Sqoop job,常用命令及参数

    目录 数据迁移工具 -- Sqoop 第一部分 Sqoop概述 第二部分 安装配置 第三部分 应用案例 第 1 节 导入数据import MySQL 到 HDFS MySQL 到 Hive 第 2 节 ...

  3. 第八章:sqoop数据迁移工具

    sqoop是专门用来迁移数据的,它可以把数据库中的数据迁移到HDFS文件系统,当然也可以从HDFS文件系统导回到数据库. 我来说一下Sqoop的使用场景,假如你们公司有个项目运行好长时间了,积累了大量 ...

  4. 大数据学习笔记45:Sqoop - 数据迁移工具

    文章目录 一.Sqoop概述 二.下载.安装和配置Sqoop 1.下载sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 2.将sqoop-1.4.7.bin__hadoop-2 ...

  5. 8款数据迁移工具选型,主流且实用

    前言:ETL(是Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业应用来说,我们经常会遇到各种数据的处理.转换.迁移的场景.今天特地给大家汇总了一些目前市面上 ...

  6. 数据迁移工具,用这8种就够了

    前言 最近由于工作需要需要进行数据迁移,那么ETL数据迁移工具该用哪些呢? ETL(是Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业应用来说,我们经常会遇 ...

  7. 8 种主流数据迁移工具技术选型,yyds!

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...

  8. 数据迁移工具,用这8种就够了!!!

    前言 最近有些小伙伴问我,ETL数据迁移工具该用哪些. ETL(是Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业应用来说,我们经常会遇到各种数据的处理.转 ...

  9. sqoop 数据迁移

    sqoop 数据迁移 1 概述 sqoop是apache旗下一款"Hadoop和关系数据库服务器之间传送数据"的工具. 导入数据:MySQL,Oracle导入数据到Hadoop的H ...

最新文章

  1. L2级自动驾驶量产趋势解读
  2. Linux命令修复方法,在Linux终端运行sudoedit -s /命令看未修复和已修复的效果
  3. BigTable的开源实现:HBase数据库
  4. Log4Net 之走进Log4Net (四)
  5. ESP8266 tcp client 通信
  6. 【笔记】Windows Sublime text安装json格式化插件SublimePrettyJson
  7. Java程序设计基础(第五版)期末总复习
  8. html如何制作表格合并,html如何合并表格
  9. NOI题库练习1.5(07)
  10. java程序中,如何设置周一为一周的开始?如何设置周一为一周的第一天? 或者说,如何理解java的setFirstDayOfWeek()方法?
  11. html表格日期选框,table单元格编辑新增下拉框(select支持单或多选)、时间选择(date)功能! · Pull Request !26 · 贤心/layui - Gitee.com...
  12. LaTeX定义新命令
  13. 准备搭建一个服务器,使用云服务器和个人电脑哪个好?
  14. 不可思议有氧机器人_不思议迷宫奇怪的机器人 不思议迷宫奇怪的机器人获取方式一览...
  15. 3D角色模型欣赏:韩国3D设计师 Jiwoong Choi 科幻3d角色
  16. 拼图式拖动滑块的验证——使用selenium+python实现
  17. 温故知新(五)——三参数陷波滤波器离散化推导及MATLAB实现
  18. 坤泰股份在深交所上市:预计全年营收超4亿元,张明夫妇为实控人
  19. 『高性能模型』轻量级网络梳理
  20. 脑壳疼的js设计模式

热门文章

  1. Arduino模拟简易倒车雷达系统
  2. android 健康分析,开题报告-基于Android的健康指标记录与分析软件的设计与实现.doc...
  3. php swoft 路由,Swoft 源码解读
  4. 浙江电网发电市场竞价上网辅助决策系统的设计
  5. vue+less 电池电量图标组件
  6. 去污染(宿主)过程记录
  7. spring事物管理
  8. 【第五人格设计思路】 猩红新娘·时装设计思路
  9. D3D11与D3D9全屏/窗口化切换差异
  10. 网络工程师课程---5、传输层(传输层常用协议有哪些)