[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表的字段之間以\001分隔。行以\n分隔。空字段以\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 '\001' \ --lines-terminated-by '\n' \ --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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM