DataX导入与导出数据
DataX导入与导出数据
- 1、Datax安装
- 2、从MySQL导出数据
- 2.1、将MySQL中的student数据库中的student表导入hive中
- 2.1.1、前提准备
- 2.1.2、编写脚本
- 2.1.3、执行脚本
- 2.2、将MySQL中的数据导入hbase
- 2.2.1、前提准备
- 2.2.2、编写脚本
- 2.2.3、执行脚本
- 3、从Hive导出数据
- 3.1、Hive中数据导入MySQL
- 3.1.1、前提准备
- 3.1.2、编写脚本
- 3.1.3、执行脚本
1、Datax安装
DataX不需要依赖其他服务,直接将DataX上传解压配置环境变量即可
官方安装包下载地址
2、从MySQL导出数据
2.1、将MySQL中的student数据库中的student表导入hive中
2.1.1、前提准备
- MySQL中必须有student数据库与student表,MySQL中需要有数据
- Hive中需要有student数据库,与student表,Hive中只需要有表
注意数据类型问题
2.1.2、编写脚本
编写脚本并保存为 MySQLToHive.json
注意:编写脚本的时候Hive表中的字段分割符要与"fieldDelimiter": ","一致。
如下:
{"job":{"setting":{"speed":{"channel": 3}},"content":[{"reader":{"name": "mysqlreader","parameter":{"username": "root","password": "123456","column":["id","name","age","gender","clazz","last_mod"],"splitPk": "id","connection":[{"table":["student"],"jdbcUrl":["jdbc:mysql://master:3306/student?useUnicode=true&characterEncoding=utf8"]}]}},"writer":{"name": "hdfswriter","parameter":{"defaultFS": "hdfs://master:9000","fileType": "text","path": "/user/hive/warehouse/student.db/student","fileName": "test","column":[{"name": "id","type": "int"},{"name": "name","type": "string"},{"name": "age","type": "int"},{"name": "gender","type": "string"},{"name": "clazz","type": "string"},{"name": "last_mod","type": "TIMESTAMP"}],"writeMode": "append","fieldDelimiter": ","}}}]}
}
2.1.3、执行脚本
datax.py MySQLToHive.json
执行结束,去Hive查询结果如下
2.2、将MySQL中的数据导入hbase
2.2.1、前提准备
- MySQL中必须有student数据库与student表,MySQL中需要有数据
- HBASE中需要有对应的student表和对应的列簇
注意数据类型问题
2.2.2、编写脚本
“hbaseConfig”:
{
“hbase.zookeeper.quorum”: “master:2181,node1:2181,node2:2181”
}
指定zookeeper的地址
{"job":{"setting":{"speed":{"channel": 3}},"content":[{"reader":{"name": "mysqlreader","parameter":{"username": "root","password": "123456","column":["id","name","age","gender","clazz","last_mod"],"splitPk": "id","connection":[{"table":["student"],"jdbcUrl":["jdbc:mysql://master:3306/student?useUnicode=true&characterEncoding=utf8"]}]}},"writer":{"name": "hbase11xwriter","parameter":{"hbaseConfig":{"hbase.zookeeper.quorum": "master:2181,node1:2181,node2:2181"},"table": "student","mode": "normal","rowkeyColumn":[{"index": 0,"type": "string"}],"column":[{"index": 1,"name": "cf1:name","type": "string"},{"index": 2,"name": "cf1:age","type": "int"},{"index": 3,"name": "cf1:gender","type": "string"},{"index": 4,"name": "cf1:clazz","type": "string"},{"index": 5,"name": "cf1:last_mod","type": "string"}],"encoding": "utf-8"}}}]}
}
2.2.3、执行脚本
datax.py MySQLToHbase.json
去hbase中查看结果
结果如下
3、从Hive导出数据
3.1、Hive中数据导入MySQL
3.1.1、前提准备
- Hive中需要有student表数据
- MySQL中需要有对应的数据库与表
注意数据类型问题
3.1.2、编写脚本
注意上面的数据类型
例如:在Hive中的数据类型是timestamp在编写脚本的时候就应该使用Date数据类型,否则将会出现脏数据。
{"job":{"setting":{"speed":{"channel": 3}},"content":[{"reader":{"name": "hdfsreader","parameter":{"path": "/user/hive/warehouse/student.db/student/*","defaultFS": "hdfs://master:9000","column":[{"index": 0,"type": "long"},{"index": 1,"type": "string"},{"index": 2,"type": "long"},{"index": 3,"type": "string"},{"index": 4,"type": "string"},{"index": 5,"type": "date"}],"fileType": "text","encoding": "UTF-8","fieldDelimiter": ","}},"writer":{"name": "mysqlwriter","parameter":{"writeMode": "insert","username": "root","password": "123456","column":["id","name","age","gender","clazz","last_mod"],"connection":[{"jdbcUrl": "jdbc:mysql://master:3306/student?useUnicode=true&characterEncoding=utf8","table":["student"]}]}}}]}
}
3.1.3、执行脚本
datax.py HiveToMySQL.json
去MySQL中查看student数据,查看数据完整,表示导入数据完成。
DataX支持的一些数据库操作
DataX导入与导出数据相关推荐
- 学习笔记Hive(四) —— Hive应用(2)—— Hive导入及导出数据
四.Hive导入及导出数据 通过HDFS直接导入导出 通过Hive命令导入导出 4.1.Hive导入数据的语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRI ...
- Oracle Imp and Exp (导入和导出) 数据 工具使用
Oracle 提供两个工具imp.exe 和exp.exe分别用于导入和导出数据.这两个工具位于Oracle_home/bin目录下. 导入数据exp 1 将数据库ATSTestDB完全导出,用户名s ...
- 大容量导入和导出数据 -- 格式化文件生成
大容量导入和导出数据 -- 格式化文件生成 SQL Server 支持两种类型的格式化文件:非 XML 格式和 XML 格式.非 XML 格式是 SQL Server 早期版本支持的原始格式. 通常, ...
- ssis导出数据性能_使用SSIS Hadoop组件导入和导出数据
ssis导出数据性能 In the previously published article, we talked briefly about Hadoop, and we gave an overv ...
- php 导出mysql 数据库表结构图_导入和导出数据表的图文介绍(phpMyAdmin的使用教程5)...
导入和导出数据表的图文介绍(phpMyAdmin的使用教程5) 导入和导出数据是互逆的两个操作,导入数据是通过扩展名为.sql的文件导入到数据库中,导出数据是将数据表结构,表记录储存为.sql的文件, ...
- MySql 导入和导出数据
Mysql的导入导出数据 MySql 导入和导出数据 导出数据 将数据导出到输出文件 将数据导出到转储文件 导入数据 使用MySQL实用程序 使用mysqlimport MySql 导入和导出数据 导 ...
- Java2017ci怎么导入_CI框架(CodeIgniter)实现的导入、导出数据操作示例
本文实例讲述了CI框架(CodeIgniter)实现的导入.导出数据操作.分享给大家供大家参考,具体如下: 在libraies中引用PHPExcel这个类(phpexcel.php) public f ...
- 如何将计算机硬盘导出,win7系统电脑下硬盘导入与导出数据的一些注意事项
硬盘导入和导出数据分为两种情况,第一种是远程数据处理,第二种是本地.很多时候我们都需要对硬盘中的文件进行移动,那么下面搜图云的小编就跟大家来分享一下win7系统电脑下硬盘导入与导出数据的一些注意事项吧 ...
- mysql命令导入导出数据_mysql命令行导入和导出数据
MySQL中导出CSV格式数据的SQL语句样本如下: select * from test_info into outfile '/tmp/test.csv' fields terminated by ...
最新文章
- Transformer的潜在竞争对手QRNN论文解读,训练更快的RNN
- 【解决办法】torch交叉熵使用时遇到 Dimension out of range
- 操作电脑小心“伤”手
- POJ 3061 -- Subsequence(二分)
- Linux进程地址空间和虚拟内存
- 水很深的深度学习(四)——卷积神经网络CNN
- 基于卷积网络的度量学习
- HMM中的前向法(转)
- 全年营业额怎么计算_年度利润总额怎么算?
- python扩展模块开发
- [转载] 达特茅斯学院 Dartmouth College
- 程序员的奋斗史(三十四)——人在囧途之应聘篇(四)
- 简单OR复杂?机器学习专家为你解密企业风险量化模型
- 【转】TinyXML2 入门教程
- 微信朋友圈卖葡萄经验分享
- 第十一家面试(堆糖)
- 远程连接内网电脑访问数据
- 苹果电脑安装java_mac系统 安装 JDK 并配置环境
- pdfjs 使用viewer 实现自动翻页(js控制)
- MemoryAnalyze分析weblogic的phd文件