`
zhao_rock
  • 浏览: 191850 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

sqoop1.4.5将mysql中的数据导入到HBase中

 
阅读更多

什么是sqoop?

关于发音,困扰了我很久,一番类比之后,决定读为“丝库坡”,英语老师看见了会不会疯掉,呵呵,我就是这样一个逗x。

 

书归正传:
Sqoop【SQL-To-Hadoop】是将关系型数据库的数据(MySQL or Oracle or Postgre)导入到HDFS及其子系统中(Hive, HBase)的工具

 

sqoop有两个版本,sqoop1和sqoop2,两者特性不同,本文仅介绍sqoop1的使用,其实是精力有限

 

sqoop1.4.5的搭建过程如下:

1. 软件的版本:

hadoop-1.0.3
zookeeper-3.4.4
hbase-0.94.0
sqoop-1.4.5

 

2. 基础的Hadoop上搭建Hbase的步骤略过

 

3. 解压压缩包并重命名
cd /usr/local/
tar -xzvf sqoop-1.4.5.bin__hadoop-1.0.0.tar.gz
mv sqoop-1.4.5.bin__hadoop-1.0.0 sqoop

 

4. 将mysql的jdbc驱动,复制到sqoop项目的lib目录下
使用的mysql驱动包版本: mysql-connector-java-5.1.34-bin.jar
注意: mysql connector 5.1.32以下版本mysql jar有bug

 

5. 重命名配置文件并指定其参数
cd  /usr/local/sqoop/conf
mv sqoop-env-template.sh sqoop-env.sh
本次使用到了hadoop hbase及zookeeper,因此需要指定如下参数
export HADOOP_COMMON_HOME=/usr/local/hadoop
#指定hadoop-*-core.jar文件的位置
export HADOOP_MAPRED_HOME=/usr/local/hadoop
export HBASE_HOME=/usr/local/hbase
export ZOOCFGDIR=/usr/local/zookeeper/conf

 

6. 尝试用sqoop连接到Mysql数据库

#列出Mysql的dbName下的所有表

/usr/local/sqoop/bin/sqoop list-tables --connect jdbc:mysql://ip:3306/dbName --username XXX --password XXX

 

7. 数据导入

带主键的全列操作
/usr/local/sqoop/bin/sqoop import --connect jdbc:mysql://ip:3306/dbName --username XXX --password XXX --table MysqlTableName --hbase-table HBaseTableName  --column-family HBase_CF --hbase-create-table

 

带主键的部分列操作
/usr/local/sqoop/bin/sqoop import --connect jdbc:mysql://ip:3306/dbName --username XXX --password XXX --table MysqlTableName --hbase-table HBaseTableName --columns column1,column2 --column-family HBase_CF --hbase-create-table

 

无主键的部分列导入,将其中一个设为rowkey
/usr/local/sqoop/bin/sqoop import --connect jdbc:mysql://ip:3306/dbName --username XXX --password XXX --table MysqlTableName --hbase-table HBaseTableName --columns column1,column2 --column-family HBase_CF --hbase-row-key column1 --hbase-create-table

 

8.源码中代码结构图如下

原理是利用mapreduce的job向hbase中写入数据



 

 

 

 

  • 大小: 20.1 KB
0
0
分享到:
评论

相关推荐

    sqoop-1.4.5-cdh5.4.2.tar.gz

    它允许用户编写SQL查询来从数据库中提取数据,然后可以将这些数据转换为适合Hadoop处理的格式,并加载到HDFS或Hive、HBase等大数据存储系统中。这里的“丰富的SQL语法”指的是Sqoop支持多种数据库的SQL标准,使得...

    sqoop-1.4.5.bin__hadoop-2.0.4-alpha.tar

    - Sqoop可以将数据直接导入到Hive、HBase等大数据处理系统,实现数据的无缝流转。 - Sqoop支持多种导入模式,如完全导入、增量导入等,满足不同场景的需求。 - 在进行大规模数据迁移时,可以通过--num-mappers参数...

    sqoop-1.4.5-cdh5.3.6.tar.gz

    在大数据处理场景中,Sqoop 提供了高效、方便的数据迁移能力,允许用户将结构化数据从传统的 RDBMS(如 MySQL、Oracle 等)导入到 Hadoop 的 HDFS 中,或者从 HDFS 导回到 RDBMS。在这个场景中,我们讨论的是 Sqoop ...

    sqoop-1.4.5.bin__hadoop-2.6.0.zip

    Sqoop 是一个开源工具,主要用于在关系型数据库(如 MySQL、Oracle 等)与 Hadoop 分布式文件系统(HDFS)之间进行数据导入导出。它利用 MapReduce 框架,实现了大规模数据集的高效传输。 Sqoop-1.4.5.bin__hadoop-...

    sqoop-1.4.4-cdh5.0.6.tar

    在大数据处理场景中,Sqoop 提供了一种高效、方便的方式将结构化数据从传统数据库如 MySQL、Oracle 等迁移到 Hadoop 的 HDFS 或者 Hive、HBase 等数据存储系统,同时也支持将 Hadoop 中的数据反向导入到关系数据库中...

    sqoop-1.4.6-cdh5.13.2.tar

    sqoopCDH版本 1、sqoop的解压并配置环境变量: ...3、将mysql的驱动包copy到sqoop目录中的lib目录下: cp /bigdata/mysql-connector-java-5.1.32.jar /usr/local/sqoop-1.4.6-cdh5.13.2/lib 4、测试 sqoop version

    22-安装部署Sqoop1

    它提供了命令行接口,方便用户将结构化的数据从 RDBMS(关系数据库管理系统)批量加载到 Hadoop 分布式文件系统(HDFS)中,或者从 HDFS 导出到 RDBMS。在本例中,我们将学习如何在 Linux 环境下安装部署 Sqoop 1,...

    Sqoop同步数据命令

    Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以使用Sqoop将数据从MySQL或Oracle等关系数据库管理系统(RDBMS)导入Hadoop分布式文件系统(HDFS),在Hadoop MapReduce中转换数据,然后将数据...

    Hadoop Sqoop介绍及安装部署.pdf

    它的名称"SQL to Hadoop"表明了其主要功能,即帮助用户将数据从传统的数据库系统导入到Hadoop的HDFS(Hadoop分布式文件系统)中,同时也能将数据导出回关系型数据库。Sqoop利用Hadoop的MapReduce框架,通过并行处理...

Global site tag (gtag.js) - Google Analytics