zoukankan      html  css  js  c++  java
  • [Sqoop]将Hive数据表导出到Mysql

    业务背景

    mysql表YHD_CATEG_PRIOR的结构例如以下:

    -- Table "YHD_CATEG_PRIOR" DDL
    
    CREATE TABLE `YHD_CATEG_PRIOR` (
      `category_id`                     int(11) NOT NULL COMMENT '类目ID',
      `category_name`                   varchar(250) DEFAULT NULL COMMENT '类目名称',
      `category_level`                  int(11) DEFAULT '0' COMMENT '类目级别',
      `default_import_categ_prior`      int(11) DEFAULT '0' COMMENT '默认引入优先级',
      `user_import_categ_prior`         int(11) DEFAULT NULL COMMENT '用户引入优先级',
      `default_eliminate_categ_prior`   int(11) DEFAULT NULL COMMENT '默认淘汰优先级',
      `user_eliminate_categ_prior`      int(11) DEFAULT NULL COMMENT '用户淘汰优先级',
      `UPDATE_TIME`                     timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '数据刷新时间',
      PRIMARY KEY (`category_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=61125 DEFAULT CHARSET=utf8;

    hive表pms.yhd_categ_prior的表结构例如以下:

    -- col_name                     data_type 
    category_id                     bigint
    category_name                   string
    category_level                  int      
    default_import_categ_prior      int
    user_import_categ_prior         int
    default_eliminate_categ_prior   int
    user_eliminate_categ_prior      int
    update_time                     string

    hive表的字段之间以01分隔。行以 分隔。空字段以N填充

    如今须要将hive表pms.yhd_categ_prior导出到mysql表YHD_CATEG_PRIOR中。

    业务实现

    脚本例如以下:

    ####################################
    #
    # 将Hive表同步到Mysql
    #
    ####################################
    rm -rf ./YHD_CATEG_PRIOR.java
    
    sqoop-export 
    -Dmapred.job.queue.name=pms 
    --connect jdbc:mysql://127.0.0.1:3306/market 
    --username admin 
    --password 123456 
    --table YHD_CATEG_PRIOR 
    --export-dir /user/hive/pms/yhd_categ_prior 
    --columns category_id,category_name,category_level,default_import_categ_prior,user_import_categ_prior,default_eliminate_categ_prior,user_eliminate_categ_prior 
    --update-mode allowinsert 
    --update-key category_id 
    --fields-terminated-by '01' 
    --lines-terminated-by '
    ' 
    --input-null-string '\N' 
    --input-null-non-string '\N'

    上述脚本解析例如以下:

    • 将hive表pms.yhd_categ_prior导出到mysql的YHD_CATEG_PRIOR表中
    • hive表导出的字段为:
    category_id,
    category_name,
    category_level,
    default_import_categ_prior,
    user_import_categ_prior,
    default_eliminate_categ_prior,
    user_eliminate_categ_prior
  • 相关阅读:
    mysql---面试题2
    Mysql--存储过程
    MySql--锁机制
    MYsql事务
    IDEA创建新项目保存pom文件时,出现错误Cannot resolve org.openjfx:javafx.base:11.0.0-SNAPSHOP
    线程中的多线程、并行和并发、同步和异步、阻塞和非阻塞、线程安全
    Java里的Arrays.asList()返回的List不能使用add、remove方法?
    服务器可用的Socket
    MessageBox.Show
    NPOI 教程
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5409361.html
Copyright © 2011-2022 走看看