[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で埋め込まれます.
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 '
'
\
--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