zoukankan      html  css  js  c++  java
  • sqoop的安装和使用

    关系行数据库与非关系型数据库之间的数据同步
    一、在不使用sqoop的情况下
    Mysql-->hive
    1.利用naivacat(工具)将数据库中的表导出(导出的时候要主要制表符/t)
    2.利用WinSCP(工具)上传到linux指定的文件夹下
    3.先在hive建表 create table 表名(idfa string) row format delimited fields terminated by ' '"
    4.hive -e "load data local inpath 't1.txt' into table t1"
    (假设表里面有数据,须要truncate table hive表名。在运行4)
     truncate table t1;( 仅仅删除表数据)
    或者hive -e "load data local inpath 't1.txt' overwrite into table t1";
    hive-->Mysql
    1.hive -e "sql语句;>>name.txt"  导出在home/dev
    2.然后在利用WinSCP(工具)下载到本地 
    二、在使用sqoop的情况下
    1.解压sqoop,配置环境变量:
    在/etc/profile中加入:(没有root权限是不能改动的,所以仅仅能在sqoop/bin路径下启动)
    export $SQOOP_HOME=/home/hadoop/sqoop-1.4.3
    export $PATH = $SQOOP_HOME/bin:$PATH
    配置完毕后要运行 source  etc/profile
    2. 解压mysql,将mysql-connector-java-5.1.24-bin.jar放到$SQOOP_HOME/lib里    
    把sqoop解压后根文件夹下的sqoop-1.4.3.jar增加到hadoop-2.2.0/lib里就可以。


    3. 列出mysql数据库中的全部数据库命令
    ./sqoop list-databases --connect jdbc:mysql://222.99.11.52:33221/ --username dev --password 1234
    4. 将关系型数据的表结构拷贝到hive中
    ./sqoop create-hive-table --connect jdbc:mysql://222.99.11.52:33221/sampledata --table t1 --username dev --password 1234 --hive-table /hive/warehouse/t1
    5.从关系数据库导入文件到hive中
    ./sqoop import --connect jdbc:mysql:// 222.206.163.139:33221/sampledata --username dev --password mysql-password --table t1 --hive-import
    6.将hive中的表数据导入到mysql中
    ./sqoop export --connect jdbc:mysql:// 222.206.163.139:33221/sampledata --username dev --password admin --table uv_info --export-dir /user/hive/warehouse/uv/dt=日期
      
     

  • 相关阅读:
    Ubuntu下官方QQ崩溃的解决
    [转]PHP函数的实现原理及性能分析
    [收藏的资料]301重定向的实现方法
    手动配置Ubuntu 指定DNS服务器地址
    C# FTP操作类
    vs2010 快捷键大全
    分享一个不错的VS插件——CodeMap
    C# 快速的批量修改重命名.net程序的命名空间(一)转 tianyaxiang
    jquery 的 ajax 程序 简单的
    winform窗体间传值
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5286710.html
Copyright © 2011-2022 走看看