大数据系列——Sqoop学习笔记

栏目: 数据库 · Mysql · 发布时间: 5年前

内容简介:--hbase-row-key: 可以不指定,不指定默认hbase中的row-lkey就是mysql中的主键​

1. Sqoop简介

  •  Apache Sqoop是一种专门为hadoop和比如关系型数据库等结构化数据库之间的高效数据转换一种工具。
  • 数据的搬运工
  • Sqoop在大多数自动化数据转换的过程中,依托于数据库相关的Schema描述信息,转换的过程是使用MapReduce来进行的
  • Sqoop目前有两个版本,完全不兼容,Sqoop和Sqoop2.可以通过版本号来进行简单的区分,1.4.x为sqoop或sqoop1,1.99.x为sqoop2

2. Sqoop数据的导入(import)

  • 传统的RDBMS中的数据导入到hbase...
  • 从传统数据库获取元数据信息(schema、table、field、field type),把导入功能转换为只有Map的

    Mapreduce作业,在mapreduce中有很多map,每个map读一片数据,进而并行的完成数据的拷贝。

3. Sqoop数据的导出(export)

  • hbase中的数据导出到rdbms中
  • 获取导出表的schema、meta信息,和Hadoop中的字段match;多个map only作业同时运行,完成hdfs中数据导出到关系型数据库中。

4. Sqoop的安装

  • 准备安装文件

    • sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
  • 解压

    • tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/
  • 重命名

    • mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha/ sqoop
  • 配置环境变量

    export SQOOP_HOME=/opt/sqoop
    export PATH=$PATH:$SQOOP_HOME/bin
  • 修改配置文件

    mv sqoop-env-template.sh  sqoop-env.sh

    ==vim sqoop-env.sh==

    export HADOOP_COMMON_HOME=/opt/hadoop
    export HBASE_HOME=/opt/hbase
    export HIVE_HOME=/opt/hive
    export ZOOCFGDIR=/opt/zookeeper/conf
  • 因为SQOOP要连接rdbms,所以需要将该数据的驱动jar包添加进sqoop的classpath中,所以将 mysql 的jar包上传至$SQOOP_HOME/lib

    • mysql需要mysql-connector-java-5.1.32.jar以上版本支持。

5. Sqoop的基本操作

  • 列出数据库

    sqoop-list-databases --connect jdbc:mysql://uplooking05:3306/ --username root --password root

  • 列出所有的表

    sqoop-list-tables --connect jdbc:mysql://uplooking05:3306/up1 --username root --password root

6. mysql中的数据导入到hdfs中

sqoop-import --connect jdbc:mysql://uplooking05/up2 --username root --password root --table user

  • ==在执行导入的过程中,一定要确定RDBMS中的表中有pk==
  • --target-dir :导入到自定义的hdfs目录中
  • --append : 追加导入
  • -m :指定maptask的数量
  • --username :数据库的用户名
  • --password :数据库的密码
  • --connect :数据库的url
  • --delete-target-dir : 一般与 --target-dir 联用,与 --append 是==互斥==的
  • --last-value : 跳过几行数据,追加其余所有的数据
  • --where:根据条件进行导入

    • sqoop-import --connect jdbc:mysql://uplooking05/up2 --username root --pass

      word root --table user --target-dir /sqoop/user --delete-target-dir --where 'id>2' * *

  • --query:导入mysql查询的结果到hdfs

    • sqoop-import --connect jdbc:mysql://uplooking05/up2 --username root --pass

      word root --target-dir /sqoop/user --delete-target-dir --query "select name,age from user where age>10 and $CONDITIONS" --split-by 'age'

7. mysql中的数据导入hbase中

sqoop-import --connect jdbc:mysql://uplooking05/up2 --username root --password root --table user --hbase-row-key id --hbase-table ns1:t2 --column-family f1

--hbase-row-key: 可以不指定,不指定默认hbase中的row-lkey就是mysql中的主键

==注意:导入数据到hbase数据库之前需要在hbase中先创建表和列族==

8. hdfs中的数据导出到mysql

sqoop-export --connect jdbc:mysql://uplooking05:3306/up2 --username root --password root --table user --export-dir /sqoop/user2

==注意:导出之前首先需要在mysql中创建表==

9. hbase中的数据导出到mysql

不可行


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

新机器的灵魂

新机器的灵魂

Tracy Kidder / 龚益、高宏志 / 机械工业出版社华章公司 / 2011-10 / 45.00元

计算机从1981年开始发生巨大的变化。《新机器的灵魂》完整地记录下了当时一家公司齐心协力把一种新的小型计算机推向市场的过程中所发生的一系列戏剧性的、充满戏剧色彩的、激动人心的故事。 本书以美国通用数据公司研制鹰电子计算机的全过程为主线,对美国计算机工业的发展和管理中鲜为人知的侧面,作了条理清晰、颇具诗情画意的描述。 你想知道一代新型计算机怎样诞生,精明干练而又富于幽默感的工程技术人员怎......一起来看看 《新机器的灵魂》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具