发布网友 发布时间:2022-04-07 21:20
共3个回答
懂视网 时间:2022-04-08 01:42
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‘
上述脚本解析如下:
category_id,
category_name,
category_level,
default_import_categ_prior,
user_import_categ_prior,
default_eliminate_categ_prior,
user_eliminate_categ_prior
[Sqoop]将Hive数据表导出到Mysql
标签:
热心网友 时间:2022-04-07 22:50
不用一致的,可以使用--columns指定哪些字段
--columns id,name,hobby,birthday如果不使用--columns这个参数,那么个数就得一致了,不然会报错的
热心网友 时间:2022-04-08 00:08
你输入sqoop import 的目录在哪里?如果在/usr/sqoop下输入的命令,那么在/usr/sqoop下输入hive登入,然后show tables查看。