大数据之Sqoop(一) --- Sqoop简介,安装和配置,MySQL数据的导入导出到HDFS,Hive,HBase,Sqoop Job,增量导入

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
一、Sqoop简介[1.4.6版本]
------------------------------------------------------------
    1.RDBMS 和 HDFS之间进行数据导入导出的工具

    2.将导入或导出命令翻译成 MapReduce 程序来实现 在翻译出的 MapReduce 中主要是对 InputFormat 和 OutputFormat 进行定制

    3.sqoop就是一个工具, 只需要在一个节点上进行安装即可。


二、Sqoop的安装和配置
---------------------------------------------------------------
    1.下载1.4.6版本(1.997版本BUG太多)

    2.tar开,配置环境变量
        SQOOP_HOME=/soft/sqoop
        ...

    3.配置sqoop/conf/sqoop-env.sh
        $> cd $SQOOP_HOME/conf
        $> cp sqoop-env-template.sh sqoop-env.sh
        $> nano sqoop-env.sh
        添加如下内容
        export HADOOP_COMMON_HOME=/soft/hadoop
        export HADOOP_MAPRED_HOME=/soft/hadoop
        export HBASE_HOME=/soft/hbase
        export HIVE_HOME=/soft/hive
        export ZOOCFGDIR=/soft/zookeeper/conf

    4.复制mysql驱动到/soft/sqoop/lib
        复制jar包到sqoop/tools/lib下
        $> cp mysql-connector-java-5.1.17.jar /soft/sqoop/lib/

    5.验证sqoop的安装
        $> sqoop-version

    6.查看帮助
        $> sqoop help
        $> sqoop help import


三、MySQL数据的导入导出到HDFS
---------------------------------------------------
    1.将MySQL中的单个表导入到HDFS中
        $ sqoop import \
                --connect jdbc:mysql://192.168.43.1:3306/mydata \
                --driver com.mysql.jdbc.Driver \
                --username mysql \
                --password mysql \
                --table mytable \
                --m 1 \
                --target-dir /data/sqoop/expdata \
                --where "id > 1" \
                --incremental append \
                --check-column id \
                --last value 1205 \

    2.将MySQL指定库中的所有表导入到HDFS中[不指定表名,直到导出到hdfs根目录下]
        $ sqoop import-all-tables \
              --connect jdbc:mysql://192.168.43.1:3306/mydata \
              --driver com.mysql.jdbc.Driver \
              --username mysql \
              --password mysql \

    3.将HDFS的表导出到MySQL
        a.MySql中创建相似的表
            mysql> create table mytable_bak like mytable;

        b.导出
            $> sqoop export \
                    --connect jdbc:mysql://192.168.43.1:3306/mydata \
                    --username mysql \
                    --password mysql \
                    --table mytable_bak \
                    --export-dir /data/sqoop/expdata

四、MySQL数据导入到Hive
--------------------------------------------------------
    1.导入--- 将MySQL中mydata库下的mytable_bak表,导入到Hive的mydb2.mytable_bak1中
        $> sqoop import \
                --connect jdbc:mysql://192.168.43.1:3306/mydata \
                --driver com.mysql.jdbc.Driver \
                --username mysql \
                --password mysql \
                --table mytable_bak \
                --hive-import \
                --hive-overwrite \
                --hive-table mydb2.mytable_bak1 \


五、MySQL数据导入到HBase
------------------------------------------------------------
    1.导入--将MySQL中mydata库下的mytable_bak表,导入到Hbase的mytable_bak1中[注意先后顺序,而且ns1:mytable_bak1,用的是: ]
        sqoop import \
             --connect jdbc:mysql://192.168.43.1:3306/mydata \
             --driver com.mysql.jdbc.Driver \
             --username 'mysql' \
             --password 'mysql' \
             --table 'mytable_bak' \
             --hbase-table 'ns1:mytable_bak1' \
             --hbase-row-key 'id' \
             --column-family 'f1' \


六、Sqoop Job -- 导入导出过程的封装,方便以后导入导出
------------------------------------------------------------
    1.创建作业
        sqoop job --create myjob -- import \
                [下面就是之前的导入语句]
                --connect jdbc:mysql://192.168.43.1:3306/mydata \
                --driver com.mysql.jdbc.Driver \
                --username 'mysql' \
                --password 'mysql' \
                --table 'mytable_bak' \
                --hbase-table 'ns1:mytable_bak1' \
                --hbase-row-key 'id' \
                --column-family 'f1' \

    2.查看创建的作业
        sqoop job --list
        sqoop job --show myjob

    3.启动作业
        sqoop job --exec myjob

    4.删除作业
        sqoop job --delete myjob


七、增量导入
---------------------------------------------------------
    1.参数
        --incremental             //增量类型,append/lastmodified
        --check-column            //指定检查字段,不能为varchar
        --last value              //之前导入的最大值

    2.增量导入id 大于55的数据
        sqoop import \
           --connect jdbc:mysql://192.168.43.1:3306/mydata \
           --driver com.mysql.jdbc.Driver \
           --username 'mysql' \
           --password 'mysql' \
           --table 'mytable_bak' \
           --hbase-table 'ns1:mytable_bak1' \
           --hbase-row-key 'id' \
           --column-family 'f1' \
           --incremental append \
           --check-column id \
           --last-value 5 \






































大数据组件工具——数据导入导出 Sqoop Sqoop款Apache旗下的ETL工具,主要用于Hadoop与关系型数据库之间的数据传输。它能将MySQL、Oracle等数据导入HDFSHiveHBase,或将Hadoop数据导出到关系库。Sqoop通过将命令翻译为MapReduce任务实现数据传输,并定制化InputFormatOutputFormat。Sqoop1采用客户端直接提交方式,而Sqoop2引入集中化管理的Server端,支持REST APIWebUI,安全性更高。安装配置环境变量、依赖库及Hadoop组件路径。常用操作包括 阅读详情

相关推荐

大数据ETL工具kettle与sqoop对比分析

sqoop有两个版本:sqoop1sqoop2,sqoop2功能比sqoop些,但sqoop2产品不成熟,不适合生产环境使用,且CDHAmbari HDP都默认集成sqoop1,所以不考虑sqoop2。 本文仅比较kettlesqoop1: 对比项 Kettle Sqoop1 适用场景 数据ETL,简单或复杂的数据抽取、数据转换、数据清洗、数据过滤、数据同步。 ...

tomalun的专栏 1万+

sqoop定时增量导入

sqoop使用hsql来存储job信息,开启metastor service将job信息共享,所有node上的sqoop都可以运行job sqoop配置文件在sqoop.site.xml中:     1、sqoop.metastore.server.location         本地存储路径,默认在tmp下,改为其他路径     2、sqoop.metastore.serv

好记性不如烂博客 3万+

数据同步工具—Sqoop

Sqoop 作为数据同步工具,主要用于关系型数据Hadoop的数据相互同步。table 模式query 模式job 主要解决了增量同步的元数据(last-value)维护问题,当然本身也可以用来做非增量的同步,ETL 中更常用的增量模式是通过query 来完成的,这是因为query 模式更加灵活。

4万+

sqoop的详细使用及原理

来源https://blog.csdn.net/xiaobianjava/article/details/39854713

zhusiqing6的博客 8457

sqoop2从mysql导入数据hbase

sqoop2从mysql导入数据hbase 标签(空格分隔): sqoop2 hbase hadoop mysql 数据迁移 、基础环境 hadoop-2.6.0 sqoop-1.99.6 hbase-1.0.1.1 二、数据迁移实际操作步骤 1、mysql中表结构显示 CREATE TABLE `risk_trade_error_result` ( `SERI...

勿忘始终 3771

大数据ETL工具Sqoop详解

Sqoop是用来做什么的 Sqoop官网是这样介绍: Apache Sqoop(TM) is a tool designed for efficiently transferring bulk data between Apache Hadoop and structured datastores such as relational databases. 就是说Sqoop款用来在Hadoo...

snail_bing的博客 1万+

sqoop job命令自动生成

sqoop job命令自动生成

Ran 2303

Sqoop数据迁移,导入数据hdfs,hive,hbase,mysql

Sqoop数据迁移Sqoop概述二、Sqoop数据迁移1.从RDB(Relational Database)导入数据HDFS1.1标准方式全部导入表(customers)1.2通过Where语句过滤导入(orders)1.3通过COLUMNS过滤导入表1.4使用query方式导入数据1.5使用Sqoop增量导入数据2.导入数据hive3.导入数据HBase4.hdfs导出到MySQL三、执行Sqoop脚本四、执行Sqoop job任务 Sqoop概述 Sqoop是什么? Sqoop个用

我玩的很开心的博客 2464

大数据技术之Sqoop

大数据技术之Sqoop

我从不打没有准备的仗! 1万+

Sqoop深度解析:大数据时代的桥梁工具

Sqoop(SQL-to-Hadoop)是Apache旗下的款开源工具,专门用于在Hadoop关系型数据库(RDBMS)之间进行高效批量数据传输。简单易用:命令行操作,无需编写MapReduce代码高效并行:基于MapReduce实现高速批量传输功能完善:支持全量、增量、条件导入/导出生态集成:与HiveHBaseHDFS无缝对接在实际生产中,Sqoop通常与调度工具(如Azkaban、Oozie)结合,构建自动化数据同步管道,是大数据平台不可或缺的组成部分。

✨ 欢迎来到【Seal ^_^ 的CSDN博客】!✨ 2018

sqoop 导入hdfs hive hbase

目录 参数解析 导入HDFS 导入Hive 导入Hbase Hive增量导入 Hbase增量导入 任务job 参数解析 官网参数解析:http://sqoop.apache.org/docs/1.4.7/SqoopUserGuide.html#_incremental_imports --password-file :密码文件在hdfs上的路劲。如果密码不能明...

qq_37706484的博客 910

大数据开发运维解决方案】Sqoop全量同步mysql/Oracle数据hive

接下来本篇文章详细介绍下使用sqoop全量同步oracle/mysql数据hive,这里实验采用oracle数据库为例,后面篇文章将详细介绍:1、sqoop --incremental append 附加模式增量同步数据hive2、sqoop --incremental --merge-key合并模式增量同步到hive

赵延东的一亩三分地 17万+

大数据-22 Sqoop 数据MySQLHDFS集群 JDBC ETL MapReduce

Apache Sqoop个用于在关系型数据库(如 MySQL)与 Hadoop 系统(如 HDFSHiveHBase)之间高效批量传输数据的工具,主要基于 MapReduce 实现并发导入导出。尽管 Sqoop 于 2021 年已归档进入 Apache Attic,仍在部分老旧系统中使用。在新项目中,更推荐使用 Apache NiFi、DataX 或 Flink CDC 等替代方案。Sqoop 常用于离线批处理场景中的 ETL 操作,支持表级导入、自定义 SQL、增量同步等功能。

谢谢你的喜欢 我们一起无限进步 1749

Sqoop:sqoop简介及原理,安装配置sqoop,sqoop简单的使用案例,RDBMS导入数据HDFS,Hive,HBase,Hive/HDFS导出到RDBMS,脚本打包,sqoo常用命令及参数

文章目录 第1章 Sqoop简介 第2章 Sqoop原理 第3章 Sqoop安装 3.1 下载并解压 3.2 修改配置文件 3.3 拷贝JDBC驱动 3.4 验证Sqoop 3.5 测试Sqoop是否能够成功连接数据库 第4章 Sqoop的简单使用案例 4.1 导入数据 4.1.1 RDBMS到HDFS 4.1.2RDBMS到Hive 4.1.3RDBMS到Hbase...

qq_43265673的博客 1263

Sqoop介绍及数据迁移

.Sqoop概述 Sqoop个用于在Hadoop关系数据库之间传输数据的工具 将数据从RDBMS导入HDFSHiveHBaseHDFS导出数据到RDBMS 使用MapReduce导入导出数据,提供并行操作容错 目标用户 系统管理员、数据库管理员 大数据分析师、大数据开发工程师等 二.Sqoop操作 1.从RDB导入数据HDFS sqoop import \ --connect jdbc:mysql://localhost:3306/retail_db \ --driver com

sun_0128的博客 7394

Sqoop 1.4.6环境安装以及数据迁移hdfshivehive分区、hbase增量导入、创建sqoop job(定时执行脚本方法)

Sqoop 安装 安装 Sqoop 的前提是已经具备 Java Hadoop、 Hive、 ZooKeeper、 HBase 的环境 1.1 下载并解压 链接:https://pan.baidu.com/s/1-i56m_mmLdKE_NqYpCzRhA 提取码:t2c3 1.上传安装sqoop-1.4.6-cdh5.14.2.tar.gz 到虚拟机中 2.解压 sqoop 安装包到指定目录 改名sqoop 方便使用 tar -zxvf sqoop-1.4.6-cdh5.14.2.tar.gz

Mr_Bright的博客 451

sqoop 操作mysqlhdfs之间数据传输

/* SQLyog Ultimate v12.08 (64 bit) MySQL - 5.6.34 : Database - spark */ /*!40101 SET NAMES utf8 */; /!40101 SET SQL_MODE=’’/; /!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 /; /!4001...

风子的博客 2240

大数据Sqoop

sqoop是Hadoop生态体系RDBMS体系之间传送数据种工具。工作机制: 将导入导出命令翻译成MR程序来实现,MR中主要是对inputformatoutputformat进行定制。Hadoop生态体系包括:HDFSHBaseHive等RDBMS体系包括:MySQL、Oracle等整体架构如下:sqoop与dataX对比。

wslzoooo的博客 1132
上一篇: 大数据之hbase(五) --- 导出Hbase的表文件到HDFS,Hbase Bulk Load Hbase,MySQL数据通过MR导入到Hbase表中
下一篇: 手机app日志分析系统(一)
疯狂学习的白菜
博客等级 码龄10年 393粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值