[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
时间: 2024-10-10 03:55:38

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

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

运行环境  centos 5.6   hadoop  hive sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具. 上海尚学堂hadoop大数据培训组原创,陆续有hadoop大数据技术相关文章奉上,请多关注! 在使用过程中可能遇到的问题: sqoop依赖zookeeper,所以必须配置ZOOKEEPER_HOME到环境变量中. sqoop-1.2.0-CDH3B4依赖hadoop-core-0.20.2-CDH3B4.ja

Hive 实战(1)--hive数据导入/导出基础

前沿: Hive也采用类SQL的语法, 但其作为数据仓库, 与面向OLTP的传统关系型数据库(Mysql/Oracle)有着天然的差别. 它用于离线的数据计算分析, 而不追求高并发/低延时的应用场景. 最显著的特别是, Hive的数据是Schema On Read, 对数据的写入非常的自由和松散, 而对数据的读取则作了各种限制. 而RMDBS则是Schema On Write, 对数据写入限制非常的严苛. *). 数据导入/导出 让我们体验以下Hive中数据如何导入: 1). 创建数据库 db_

R语言读取Hive数据表

R通过RJDBC包连接Hive 目前Hive集群主要在济阳,我们的权限是可以通过跳板机来访问 HiveServer, 将Hive 中的批量数据读入R环境,并进行后续的模型和算法运算. 1. 登录跳板机后需要首先在Linux下进行配置 从root权限切换到bzsys用户,才能够通过验证读取Hive.首先需要配置Hadoop的临时环境变量CLASSPATH路径 su bzsys export CLASSPATH=$CLASSPATH:/etc/hadoop/conf 2. 下载并安装RJDBC包 L

HDFS、Hive、MySQL、Sqoop之间的数据导入导出(强烈建议去看)

Hive总结(七)Hive四种数据导入方式 (强烈建议去看) Hive几种数据导出方式 https://www.iteblog.com/archives/955 (强烈建议去看) 把MySQL里的数据导入到HDFS 1.使用MySQL工具手工导入 把MySQL的导出数据导入到HDFS的最简单方法就是,使用命令行工具和MySQL语句. 为了导出整个数据表或整个数据库的内容,MySQL提供了mysqldump工具. 比如 SELECT  col1,col2 FORM TABLE INTO OUTFI

Mysql数据表导出数据为excel

笔者最近由于公司人员特殊需要,将Mysql数据库中特定表导出为excel格式数据保存.话絮休烦,以下为步骤: 1:cmd打开数据库,mysql -uroot -p 2:选择数据库,要是不知道具体名称:键入命令 SHOW DATABASES; 切换为目标数据库,USE DATABASENAME; 3:选择表,要是不知道具体哪张,键入命令SHOW TABLES; 4:输出:SELECT * FROM tablename INTO outfile 'path', path 为你准备输出目标的路径,笔者

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

1,数据库导入 mysql -uroot -p show databases; create database newdb; use 数据库: set names utf8: source  /home/newdb.sql; 1.1 数据库导入第二种 mysql -u用户名 -p密码 数据库名 < 数据库名.sql 1.2 数据库导入数据表 mysql -uroot -p show databases; create database newdb; use 数据库: source /var/ad

【源】从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上

阅读目录 序 导入文件到Hive 将其他表的查询结果导入表 动态分区插入 将SQL语句的值插入到表中 模拟数据文件下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇,我们介绍了Hive的表操作做了简单的描述和实践.在实际使用中,可能会存在数据的导入导出,虽然可以使用sqoop等工具进行关系型数据导入导出操作,但有的时候只需要很简便的方式进行导入导出即可   下面我们开始

【源】从零自学Hadoop(17):Hive数据导入导出,集群数据迁移下

阅读目录 序 将查询的结果写入文件系统 集群数据迁移一 集群数据迁移二 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇,我们介绍了Hive的数据多种方式导入,这样我们的Hive就有了数据来源了,但有时候我们可能需要纯粹的导出,或者集群Hive数据的迁移(不同集群,不同版本),我们就可以通过这两章的知识来实现.   下面我们开始介绍hive的数据导出,以及集群Hive数据的

数据仓库Hive数据导入导出

Hive库数据导入导出 1.新建表data hive (ebank)> create table data(id int,name string) > ROW FORMAT DELIMITED > FIELDS TERMINATED BY'\t' > stored as textfile; OK Time taken: 0.257 seconds 2.向data表中插入数据 hive (ebank)> load data local inpath '/home/hive/da