zoukankan      html  css  js  c++  java
  • Sqoop简介

    一  Sqoop是什么

    1. Sqoop:SQL-to-Hadoop
    2. 连接传统关系型数据库和Hadoop的桥梁 把关系型数据库的数据导入到 Hadoop 系统 ( 如 HDFS、HBase 和 Hive) 中; 把数据从 Hadoop 系统里抽取并导出到关系型数据库里
    3. 利用MapReduce,批处理方式进行数据传输

     

     

    二 Sqoop的优势

    1. 高效、可控的利用资源,任务并行度、超时时间等
    2. 数据类型映射与转换可自动进行,用户也可自定义

    3. 支持多种数据库(MySQL、Oracle、PostgreSQL)

     

     

    三 Sqoop架构

     

     四 Sqoop命令

    Sqoop import:将数据从关系型数据库导入Hadoop 中

    步骤1 :Sqoop 与数据库Server通信,获取数据库表的元数据信息;

    步骤2 :Sqoop 启动一个Map- Only 的MR 作业,利用元数据信息并行将数据写入Hadoop

    Sqoop import使用

    sqoop import --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table person --target-dir

    参数说明:

    --connnect: 指定JDBC URL

    --username/password :mysql 数据库的用户名

    --table :要读取的数据库表

    --hadoop-home hadoop目录

     

     

    Sqoop Export 使用

    将数据从Hadoop 导入关系型数据库导中

    步骤1 : Sqoop 与数据库Server通信,获取数据库表的元数据信息;

    步骤2 :并行导入数据: 将Hadoop 上文件划分成若干个split ; 每个split 由一个Map Task 进行数据导入

    sqoop export --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --export-dir cities --fields-terminated-by

    --connnect: 指定JDBC URL

    --username/password :mysql 数据库的用户名

    --table :要导入的数据库表

    export-dir :数据在HDFS 上存放目录

     

     

    Sqoop与其他系统结合

    Sqoop 可以与Oozie 、Hive 、Hbase 等系统结合

    用户需要在sqoop-env.sh 中增加HBASE_HOME 、HIVE_HOME

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    【OpenStack】OpenStack系列16之OpenStack镜像制作
    【OpenStack】OpenStack系列15之OpenStack高可用详解
    【OpenStack】OpenStack系列14之Dashboard定制开发
    【OpenStack】OpenStack系列13之Nova源码解析与API扩展
    linux之scp命令
    阿里大鱼短信平台
    count(1)与count(*)
    java中枚举类到高级使用
    idea中mybatis-plugin破解
    mmall项目之问题一(mavenplugin问题)
  • 原文地址:https://www.cnblogs.com/yjjyves/p/9536785.html
Copyright © 2011-2022 走看看