业务背景

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

[Sqoop]将Hive数据表导出到Mysql的更多相关文章

  1. 利用sqoop将hive数据导入导出数据到mysql

    一.导入导出数据库常用命令语句 1)列出mysql数据库中的所有数据库命令  #  sqoop list-databases --connect jdbc:mysql://localhost:3306 ...

  2. 如何利用sqoop将hive数据导入导出数据到mysql

    运行环境  centos 5.6   hadoop  hive sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具. 上海尚学堂 ...

  3. linux mysql 数据库操作导入导出 数据表导出导入

    linux mysql 数据库操作导入导出 数据表导出导入 1,数据库导入 mysql -uroot -p show databases; create database newdb; use 数据库 ...

  4. Hive数据导入导出的几种方式

    一,Hive数据导入的几种方式 首先列出讲述下面几种导入方式的数据和hive表. 导入: 本地文件导入到Hive表: Hive表导入到Hive表; HDFS文件导入到Hive表; 创建表的过程中从其他 ...

  5. mysqldump 导出统一限制每张数据表导出的记录数

    mysqldump 导出统一限制每张数据表导出的记录数 在工作过程中,需要将生产的数据导出到本地开发环境,我希望可以导出部分数据.而服务器数据量比较大(上千万),如果选择直接从服务器导出数据, 正在运 ...

  6. Sqoop-将Hive ORC表导出到MySQL

    Sqoop-将Hive ORC表导出到MySQL sqoop export --connect jdbc:mysql://localhost:3306/test --username root --p ...

  7. R语言读取Hive数据表

    R通过RJDBC包连接Hive 目前Hive集群是可以通过跳板机来访问 HiveServer, 将Hive 中的批量数据读入R环境,并进行后续的模型和算法运算. 1. 登录跳板机后需要首先在Linux ...

  8. Hadoop Hive概念学习系列之HDFS、Hive、MySQL、Sqoop之间的数据导入导出(强烈建议去看)

    Hive总结(七)Hive四种数据导入方式 (强烈建议去看) Hive几种数据导出方式 https://www.iteblog.com/archives/955 (强烈建议去看) 把MySQL里的数据 ...

  9. 使用 sqoop 将 hive 数据导出到 mysql (export)

    使用sqoop将hive中的数据传到mysql中 1.新建hive表 hive> create external table sqoop_test(id int,name string,age ...

随机推荐

  1. Numpy详解

    NumPy 简介 Python并没有提供数组功能.虽然列表可以完成基本的数组功能,但它不是真正的数组,而且在数据量比较大时,使用列表的速度会很慢.为此,Numpy提供了真正的数组功能,以及对数据进行快 ...

  2. 改变input标签中placeholder显示的颜色

    ::-webkit-input-placeholder { /* WebKit browsers */ color: #A9A9A9; } :-moz-placeholder { /* Mozilla ...

  3. [Vue warn]: Do not use built-in or reserved HTML elements as component id: header

    因为header在HTML5里面是个原生的标签,所以在开发的时候会提示错误,解决方法:修改components里面左边的header

  4. MySQL表的定期分析检查优化

    Analyze Table 分析表   MySQL 的Optimizer(优化元件)在优化SQL语句时,首先需要收集一些相关信息,其中就包括表的cardinality(可以翻译为“散列程度”),它表示 ...

  5. linux 创建用户和密码

    :useradd -m 用户名//添加用户 :passwd 用户名 //然后设置密码 :userdel -r newuser1 //删除用户 newuser1,同时删除其自家目录 samba 设置账号 ...

  6. PHP对Url中的汉字进行编码和解码

    有的新手朋友们对于url编码解码这个概念,或许有点陌生.但是如果这么说,当我们在浏览各大网页时,可能发现有的url里有一些特殊符号比如#号,&号,_号或者汉字等等,那么为了符合url的规范,存 ...

  7. ThinkPHP中where()使用方法详解

    where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询.表达式查询.快捷查询.区间查询.组合查询在内的查询操作.where方法 ...

  8. python 全栈开发,Day38(在python程序中的进程操作,multiprocess.Process模块)

    昨日内容回顾 操作系统纸带打孔计算机批处理 —— 磁带 联机 脱机多道操作系统 —— 极大的提高了CPU的利用率 在计算机中 可以有超过一个进程 进程遇到IO的时候 切换给另外的进程使用CPU 数据隔 ...

  9. Math对象的常用属性和方法

    属性 描述 Math.PI 返回π(3.1415926) 方法 描述 Math.round() 将数字四舍五入到离它最近的整数 Math.sart(n) 返回平方根,例如Math.sart(9)返回3 ...

  10. 如何删除jsPlumb连接

    I am playing with jsplumb, but I am not able to delete the connection between two divs having only t ...