• sqoop 数据导入hive


    一. sqoop: mysql->hive

    sqoop import -m 1 --hive-import --connect "jdbc:mysql://127.0.0.1:3306/TEST?zeroDateTimeBehavior=CONVERT_TO_NULL&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai" --username sa --password-file /user/root/_sqoop/pwd127.txt --table user --hive-database TEST --hive-table user 
    

     这里jdbc url后面跟了一些连接参数,看情况可有可无;

    二.sqoop: oracle->hive

    # 使用oracle 服务名jdbc url
    sqoop import --connect jdbc:oracle:thin:@//127.0.0.1:1521/ORCL --username sa --password 123456  --table TEST.user--hive-import --hive-database test --hive-table user  -m 1
    # 使用oracle SID jdbs url
    sqoop import --connect jdbc:oracle:thin:@127.0.0.1:1521:ORCL --username sa --password 123456 --table TEST.user --hive-import --hive-database test --hive-table user  -m 1
    

     三.建立增量任务

      1.启动sqoop metastore服务存储job

    sqoop metastore
    

       2.创建增量任务

    sqoop job [metastore] --create <job_name> -- <import_task> --incremental append --check-column id --last-value <last_id>
    
    sqoop job --meta-connect jdbc:hsqldb:hsql://192.168.1.70:16000/sqoop --create sync_test -- 
    import -m 1 --hive-import --connect "jdbc:mysql://192.168.1.196:3306/TEST" --username sa --password-file /user/root/_sqoop/pwd127.txt --table user --hive-database TEST --hive-table user 
    --incremental append --check-column id --last-value 0
    

     TIPS: 不指定metastore时默认使用本地的hsql,分布式的时候不可用;

    --check-cloumn 须要是 not null ,有序字段

    --last-value 如果是第一次导入可以是 0,(一开始就使用增量导入)

    3.运行任务

    sqoop job [metastore] --exec <job_name>
    sqoop job --meta-connect jdbc:hsqldb:hsql://192.168.1.70:16000/sqoop --exec sync_test
    

         sqoop job [metastore] --list 可以查看任务列表

    四,HUE 任务

      1.建立workflow;

      2.在workspace 空间中建立sh文件

      3.在sh中写入增量任务命令::sqoop job --meta-connect jdbc:hsqldb:hsql://192.168.1.70:16000/sqoop --exec sync_test

      4.再编辑workflow 添加shell组件,选择workspace中的sh文件, 测试

      5.建立schedule,将workflow添加进来,编辑运行规则;

    更多细节可参考:

     https://www.cnblogs.com/canyangfeixue/p/4731520.html

    .http://archive.cloudera.com/cdh/3/sqoop/SqoopUserGuide.html

  • 相关阅读:
    [ Linux ] rsync 对异地服务器进行简单同步
    [ Skill ] 遍历整个项目设计的两个思路
    [ Skill ] 不常用的函数笔记
    [ Perl ] Getopt 使用模板
    [ Skill ] 两个 listBox 数据交换的模板
    [ Linux ] "真"后台 nohup
    [ VM ] VirtualBox 压缩 .vdi
    [ Skill ] Layout 工艺移植,还原库调用关系
    win8 hyper-v 禁用不必卸载虚拟机
    BM算法解析(计算机算法-设计与分析导论(第三版))
  • 原文地址:https://www.cnblogs.com/huaizhi/p/12035598.html
Copyright © 2020-2023  润新知