(MySQL里的数据)通过Sqoop Import Hive 里 和 通过Sqoop Export Hive 里的数据到(MySQL)
Sqoop 可以与Hive系统结合,实现数据的导入和导出,用户需要在 sqoop-env.sh 中添加HIVE_HOME的环境变量。
具体,见我的如下博客:
hadoop2.6.0(单节点)下Sqoop-1.4.6安装与配置(数据读取涉及hadoop、hbase和hive)
hadoop2.2.0(单节点)下Sqoop-1.4.6安装与配置(数据读取涉及hadoop、hbase和hive)
前期工作
(MySQL里的数据)通过Sqoop Import HDFS 里 和 通过Sqoop Export HDFS 里的数据到(MySQL)(五)
本博文的主要内容有
一、将mysql表的数据导入到hive中
二、将Hive表的数据导出到mysql中(不建立中间表)
三、将Hive表的数据导出到mysql中(建立中间表)(推荐)
一、将mysql表的数据导入到hive中
# 追加数据
sqoop import \
--connect jdbc:mysql://192.168.56.104:3306/test?useSSL=false \
--username root \
--password 123456 \
--table t1
--hive-import
--hive-table test.mysql_t1 \
# 覆盖数据
sqoop import \
--connect jdbc:mysql://192.168.56.104:3306/test?useSSL=false \
--username root \
--password 123456 \
--table t1 \
--hive-import
--hive-overwrite
--hive-table test.mysql_t1 \
注:如果MySQL中的表没有主键,则需要加--autoreset-to-one-mapper参数
完善
二、将Hive表的数据导出到mysql中(不建立中间表)
如下,是我的Hive里的数据。
以/user/hive/warehouse/stock_partition/tradedate=20130722为例。


这里,Hive -> MySQL
我这里是,
/user/hive/warehouse/stock_partition(在Hive里)
->
stock_partition_copy(在MySQL里)
对于,将Hive里的数据,导出到MySQL(是需要先建立输出表的。在我这里是,stock_partition_copy)


表明,输出表已经创建成功!

[hadoop@djt002 sqoopRunCreate]$ sqoop export \
> --connect 'jdbc:mysql://192.168.80.200/hive?useUnicode=true&characterEncoding=utf-8' \
> --username hive \
> --password-file /user/hadoop/.password \
> --table stock_partition_copy \
> --export-dir /user/hive/warehouse/stock_partition/tradedate=20130722 \
> -input-fields-terminated-by ","
或
[hadoop@djt002 sqoopRunCreate]$ sqoop export --connect 'jdbc:mysql://192.168.80.200/hive?useUnicode=true&characterEncoding=utf-8' --username hive --password-file /user/hadoop/.password --table stock_partition_copy --export-dir /user/hive/warehouse/stock_partition/tradedate=20130722 -input-fields-terminated-by ","
然后,到本地的MySQL,来看

成功!
三、将Hive表的数据导出到mysql中(建立中间表,有效解决脏数据)
对于Hive,类似与HDFS一样,在从它们导出到本地的MySQL时,为了规范适应生产业务所需,还是也最好先导出到中间表。
如下,是我的Hive里的数据


这里,Hive -> 先导出到 中间表(成功才可以,后续导出) -> MySQL
我这里是,
/user/hive/warehouse/stock_partition(在Hive里)
->
stock_partition _copy_tmp (在MySQL里)
->
stock_partition_copy(在MySQL里)
对于,将Hive里的数据,导出到MySQL(是需要先建立中间表和输出表的。在我这里是,stock_partition_copy)


对于,这里,因为,我们只需复制旧表的结构就好,无需它里的数据,教大家快速得到想要的新表。
CREATE TABLE stock_partition_copy_tmp SELECT * FROM stock_partition_copy WHERE 1=2;


表明,中间表和输出表已经创建成功!

[hadoop@djt002 sqoopRunCreate]$ sqoop export \
> --connect 'jdbc:mysql://192.168.80.200/hive?useUnicode=true&characterEncoding=utf-8' \
> --username hive \
> --password-file /user/hadoop/.password \
> --table stock_partition_copy \
> --staging-table stock_partition_copy_tmp \
> --clear-staging-table \
> --export-dir /user/hive/warehouse/stock_partition/tradedate=20130722 \
> -input-fields-terminated-by ","
或者
[hadoop@djt002 sqoopRunCreate]$ sqoop export --connect 'jdbc:mysql://192.168.80.200/hive?useUnicode=true&characterEncoding=utf-8' --username hive --password-file /user/hadoop/.password --table stock_partition_copy --staging-table stock_partition_copy_tmp --clear-staging-table --export-dir /user/hive/warehouse/stock_partition/tradedate=20130722 -input-fields-terminated-by ","
然后,到本地的MySQL,来看


推荐博客
http://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html (sqoop官网文档)
http://blog.csdn.net/aaronhadoop/article/details/26713431
(MySQL里的数据)通过Sqoop Import Hive 里 和 通过Sqoop Export Hive 里的数据到(MySQL)的更多相关文章
- (MySQL里的数据)通过Sqoop Import HDFS 里 和 通过Sqoop Export HDFS 里的数据到(MySQL)(五)
下面我们结合 HDFS,介绍 Sqoop 从关系型数据库的导入和导出 一.MySQL里的数据通过Sqoop import HDFS 它的功能是将数据从关系型数据库导入 HDFS 中,其流程图如下所示. ...
- (MySQL里的数据)通过Sqoop Import HBase 里 和 通过Sqoop Export HBase 里的数据到(MySQL)
Sqoop 可以与HBase系统结合,实现数据的导入和导出,用户需要在 sqoop-env.sh 中添加HBASE_HOME的环境变量. 具体,见我的如下博客: hadoop2.6.0(单节点)下Sq ...
- Hadoop Hive概念学习系列之HDFS、Hive、MySQL、Sqoop之间的数据导入导出(强烈建议去看)
Hive总结(七)Hive四种数据导入方式 (强烈建议去看) Hive几种数据导出方式 https://www.iteblog.com/archives/955 (强烈建议去看) 把MySQL里的数据 ...
- sqoop import mysql to hive table:GC overhead limit exceeded
1. Scenario description when I use sqoop to import mysql table into hive, I got the following error: ...
- Hive学习之七《 Sqoop import 从关系数据库抽取到HDFS》
一.什么是sqoop Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL ...
- 2.11 Hive中数据导入导出Import和Export使用
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ImportExport 一.Export.Import Export ...
- 大数据笔记(十九)——数据采集引擎Sqoop和Flume安装测试详解
一.Sqoop数据采集引擎 采集关系型数据库中的数据 用在离线计算的应用中 强调:批量 (1)数据交换引擎: RDBMS <---> Sqoop <---> HDFS.HBas ...
- 大数据技术之_11_HBase学习_02_HBase API 操作 + HBase 与 Hive 集成 + HBase 优化
第6章 HBase API 操作6.1 环境准备6.2 HBase API6.2.1 判断表是否存在6.2.2 抽取获取 Configuration.Connection.Admin 对象的方法以及关 ...
- [Hive - Tutorial] Querying and Inserting Data 查询和插入数据
Querying and Inserting Data Simple Query Partition Based Query Joins Aggregations Multi Table/File I ...
随机推荐
- 刷题总结——愤怒的小鸟(NOIPDAY2T3)
题目: 题目背景 NOIP2016 提高组 Day2 T3 题目描述 Kiana 最近沉迷于一款神奇的游戏无法自拔.简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于 (0,0) 处,每次 Ki ...
- Wing IDE 6.0 算号器注册机代码
我开发Python时喜欢用Wing IDE, 然后最近发现Wing IDE升级到6.0版本了, 但是之前能在5.1上用的算号器代码不能用在6.0上了, 所以就上网搜搜是否有相关算号器, 果然, 找到了 ...
- 【DFS序+树状数组】HDU 3887 Counting Offspring
http://acm.hdu.edu.cn/showproblem.php?pid=3887 [题意] 给定一棵树,给定这棵树的根 对于每个结点,统计子树中编号比他小的结点个数 编号从小到大一次输出 ...
- hdu 2713
#include<stdio.h> #include<string.h> int map[151000][2]; int max(int a,int b) { return ...
- 【bzoj2733】[HNOI2012]永无乡 线段树合并
Description 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以 ...
- C# 实现刻录光盘功能
最近公司提出一个需求,要把公司系统的图像刻录成光盘(公司系统是医院放射科系统,很多放射科的图像) 查看了很多资料发现有两个比较可靠 1:使用IMAPI2,进行文件的光盘刻录,具体实例可以参照以下链接: ...
- 自定义table样式
.tableWrap { width: 100%; border-collapse:collapse; border-top:1px solid #e9e9e9; border-left:1px so ...
- codevs——1503 愚蠢的宠物
1503 愚蠢的宠物 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 大家都知道,sheep有两 ...
- NRapid前言
开发工具 Visual Studio 2017 数据库 SQL Server 2012 相关技术 Asp.net MVC
- 深入GCD(一): 基本概念和Dispatch Queue
什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写.从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程 ...