• 【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

  • 相关阅读:
    索尼MT27i Android2.3.7 线刷Android4.04
    如何在三分钟内要到陌生女孩的电话
    闲情逸致小说嫉妒
    LINQ查询返回DataTable类型
    30个Oracle语句优化规则详解(1)
    .net session超时设置 sessionState的相关属性
    Socket请求和Http请求的各自特点、区别及适用场景
    在Oracle触发器中调用webService 或者java程序
    vs2010中使用log4net的方法
    Oracle 记录操作时长
  • 原文地址:https://www.cnblogs.com/LHWorldBlog/p/8330303.html
Copyright © 2020-2023  润新知