zoukankan      html  css  js  c++  java
  • Sqoop学习笔记_Sqoop的基本使用二(sqoop的import与export)

    Sqoop抽取从mysql抽取到hive

    sqoop抽取到mysql一样有两种方式一种是用command line的方式,一种是用sqoop opt文件调用的方式。(由于两种sqoop一已经记录了,现在主要是利用opt的方式)

    、从hive到mysql,如果hive对应表如果没有分区字段的话配置如下(参数要根据实际情况更改)

    fileName:test-hive.opt

    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'"
    --hive-import
    --hive-overwrite
    --hive-table
    test_sale_daily
    --hive-drop-import-delims
    -m
    1

    调用文件fileName:sqoop.sh

    hadoop fs -rmr sqoop/rpt_sale_daily(先调用hadoop fs命令删除sqoop存在的中间文件表)

    sqoop options-file ./test.opt(执行opt文件)

    最后在linux执行命令行 sh ./sqoop.sh

    如果hive表存在分区的话需要在opt配置文件加多一些配置项

    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'"

    --hive-import
    --hive-overwrite
    --hive-table
    test_sale_pt
    --hive-drop-import-delims
    --hive-partition-key
    ds
    --hive-partition-value
    "2015-08-28"
    -m
    1

    初次之外基本与上面相同。

    记得报目录存在错误的话要先手动删除之前生成的sqoop存在的中间目录

    hadoop fs -rmr {home}/{关系db表名}

    /user/root/{关系db表名}

     

    还有很多相关的sqoop hive to sql 的配置信息具体查看

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

    note:写配置文件记得格式要严格不能多空格什么。opt方式不能传递参数是缺点,如果想克服这一缺点可能需要自己对program进行封装。

     

     

    从HDFS到mysql

    export

    --connect

    "jdbc:mysql://master:3306/test"

    --username

    root

    --password

    123456

    -m

    1

    --table

    "daily_hour_visit_result"

    --columns

    "dateid,pv,uv"

    --export-dir

    /user/hive/warehouse/rpt2.db/daily_hour_visit_result/ds=2015-08-28

    --input-fields-terminated-by

  • 相关阅读:
    linux ftp启用和停用及vsftpd安装 ssh 启用和停用命令及ssh的安装
    linux 网络命令
    printf的使用
    Shell echo命令
    shell脚本之文件操作
    shell脚本之字符串运算的使用
    linux的计划任务操作
    系统操作有关的命令
    shell脚本之 operater.sh 算术运算符;比较运算符;布尔运算符;逻辑与或非运算符;字符串运算符的使用
    shell脚本的参数传递使用
  • 原文地址:https://www.cnblogs.com/yaohaitao/p/5364503.html
Copyright © 2011-2022 走看看