zoukankan      html  css  js  c++  java
  • Hive学习之七《 Sqoop import 从关系数据库抽取到HDFS》

    一、什么是sqoop

      Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

    二、sqoop的特点

      Sqoop中一大亮点就是可以通过hadoop的mapreduce把数据从关系型数据库中导入数据到HDFS。

    三、Sqoop import 命令

      将Mysql的jdbc驱动放在/opt/cloudera/parcels/CDH/lib/sqoop/lib目录下。

      如下图:

      

      参考学习网址:

      http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh5.1.0/SqoopUserGuide.html

      命令详解:

      1、基本语法

    1 $ sqoop import (generic-args) (import-args)$ sqoop-import (generic-args) (import-args)

      2、基本命令

      查看网址:

      http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh5.1.0/SqoopUserGuide.html

      中的sqoop import的 Import control arguments

       

      3、案例

      方式一:

      将表rpt_sale_daily中数据导入到HDFS上。

      目标目录为:sqoop/rpt_sale_daily。

    sqoop import --connect jdbc:mysql://master:3306/test 
    --username root --password 123456 --table rpt_sale_daily 
    --columns "dateid,huodong,pv,uv" 
    --where "dateid='2015-08-28'" 
    --target-dir sqoop/rpt_sale_daily 
    -m 1

      如果提示 sqoop/rpt_sale_daily 目录已经存在,执行:

    hadoop fs -rmr sqoop/rpt_sale_daily

    执行结果:如下图

    20条数据成功导入,开始检测吧亲。

    执行代码:

    hadoop fs -cat sqoop/rpt_sale_daily/part-m-00000

    数据如下图:

    关系数据库表rpt_sale_daily里面的数据如下:

    对比,数据相同,成功导入。

     方式二:

    通过opt文件的方式传送:

    新建test.opt文件:

     1 import 
     2 --connect 
     3 jdbc:mysql://192.168.0.115:3306/test 
     4 --username 
     5 root 
     6 --password 
     7 123456 
     8 --table 
     9 rpt_sale_daily 
    10 --columns 
    11 "id,huodong,pvv,uvv" 
    12 --where 
    13 "id='2015-08-28'" 
    14 --target-dir 
    15 sqoop/rpt_sale_daily 
    16 -m 1

    执行指令:

    sqoop options-file test.opt

    执行过程和结果和方式一一样。

  • 相关阅读:
    20190729
    [51Nod1623] 完美消除
    [WC2013] 糖果公园
    20190727
    在Java中调用带参数的存储过程
    Oracle 字符集的查看和修改
    查询oracle server端的字符集
    Mysql 数据库中文乱码问题
    错误:”未能加载文件或程序集“System.Web.Mvc, Version=2.0.0.0” 解决方法
    CSS背景图拉伸自适应尺寸,全浏览器兼容
  • 原文地址:https://www.cnblogs.com/invban/p/5385122.html
Copyright © 2011-2022 走看看