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

  • 相关阅读:
    基于网页的暖通空调监控方案
    基于SVG+AJAX的网页数据监控
    基于WebGL的三维的物联网平台技术
    Tomcat部署多个Springboot项目报错 InstanceNotFoundException: com.alibaba.druid:type=DruidDataSourceStat
    MYSQL 快速备份大数据量
    防止过度工程-[拒绝完美主义]
    ES6学习
    Linux系统上java调用C++ so库文件
    第二十四篇 -- Cache学习
    第二十八篇 -- 学习第五十一天打卡20190819
  • 原文地址:https://www.cnblogs.com/LHWorldBlog/p/8330303.html
Copyright © 2011-2022 走看看