zoukankan      html  css  js  c++  java
  • 【Sqoop篇】----Sqoop从搭建到应用案例

    一、前述

    今天开始讲解Sqoo的用法搭建和使用。Sqoop其实功能非常简单。主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

    二、 配置

    flume配置很简单:

    第一步:将flume-env.sh.template模板文件改名为flume-env.sh文件

    第二步 :更改里面的JAVA_HOME

    第三步:配置环境变量

    三、 使用

    官方参考手册:http://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_connecting_to_a_database_server

    举几个简单例子:

    导入:

    案例一(步骤是Mysql---HDFS)的顺序):

    import
    --connect
    jdbc:mysql://node3:3306/test
    --username
    root
    --password
    123
    --as-textfile
    --columns
    id,name,msg
    --table
    psn
    --delete-target-dir
    --target-dir
    /sqoop/data
    -m
    1
    可以将上述命令定义在一个脚本里面:

    使用如下命令:
    sqoop --options-file sqoop1

     案例二(步骤是Mysql---Hive)的顺序):实际上就是Mysql-HDFS-Hive里面


    import
    --connect
    jdbc:mysql://node3/test
    --username
    root
    --password
    123
    --as-textfile
    --query
    'select id, name, msg from psn where id like "1%" and $CONDITIONS'
    --delete-target-dir
    --target-dir
    /sqoop/tmp  
    -m
    1
    --hive-home
    /home/hive-1.2.1
    --hive-import
    --create-hive-table
    --hive-table
    t_test

     PS:先导入到hdfs上的一个临时目录,然后再导入到Hive的数据管理目录/home/hive-1.2.1。

    and $CONDITIONS是一个查询规则,必须加上。

    导出:
    案例一。将HDFS上的数据导出到Mysql中去

    export
    --connect
    jdbc:mysql://node3/test
    --username
    root
    --password
    123
    -m
    1
    --columns
    id,name,msg
    --export-dir
    /sqoop/data
    --table
    h_psn

  • 相关阅读:
    要想成功,要先学会放弃:30条经典做人的哲学
    薛家德(帮别人名字作诗)
    激励一生的七个经典故事
    出色管理者的时间管理
    王华(帮别人名字作诗)
    申维维(帮别人名字作诗)
    王磊(帮别人名字作诗)
    秋凉
    牛佳(帮别人名字作诗)
    共度良宵
  • 原文地址:https://www.cnblogs.com/LHWorldBlog/p/8330303.html
Copyright © 2011-2022 走看看