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导入与导出数据相关推荐

  1. 学习笔记Hive(四) —— Hive应用(2)—— Hive导入及导出数据

    四.Hive导入及导出数据 通过HDFS直接导入导出 通过Hive命令导入导出 4.1.Hive导入数据的语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRI ...

  2. Oracle Imp and Exp (导入和导出) 数据 工具使用

    Oracle 提供两个工具imp.exe 和exp.exe分别用于导入和导出数据.这两个工具位于Oracle_home/bin目录下. 导入数据exp 1 将数据库ATSTestDB完全导出,用户名s ...

  3. 大容量导入和导出数据 -- 格式化文件生成

    大容量导入和导出数据 -- 格式化文件生成 SQL Server 支持两种类型的格式化文件:非 XML 格式和 XML 格式.非 XML 格式是 SQL Server 早期版本支持的原始格式. 通常, ...

  4. ssis导出数据性能_使用SSIS Hadoop组件导入和导出数据

    ssis导出数据性能 In the previously published article, we talked briefly about Hadoop, and we gave an overv ...

  5. php 导出mysql 数据库表结构图_导入和导出数据表的图文介绍(phpMyAdmin的使用教程5)...

    导入和导出数据表的图文介绍(phpMyAdmin的使用教程5) 导入和导出数据是互逆的两个操作,导入数据是通过扩展名为.sql的文件导入到数据库中,导出数据是将数据表结构,表记录储存为.sql的文件, ...

  6. MySql 导入和导出数据

    Mysql的导入导出数据 MySql 导入和导出数据 导出数据 将数据导出到输出文件 将数据导出到转储文件 导入数据 使用MySQL实用程序 使用mysqlimport MySql 导入和导出数据 导 ...

  7. Java2017ci怎么导入_CI框架(CodeIgniter)实现的导入、导出数据操作示例

    本文实例讲述了CI框架(CodeIgniter)实现的导入.导出数据操作.分享给大家供大家参考,具体如下: 在libraies中引用PHPExcel这个类(phpexcel.php) public f ...

  8. 如何将计算机硬盘导出,win7系统电脑下硬盘导入与导出数据的一些注意事项

    硬盘导入和导出数据分为两种情况,第一种是远程数据处理,第二种是本地.很多时候我们都需要对硬盘中的文件进行移动,那么下面搜图云的小编就跟大家来分享一下win7系统电脑下硬盘导入与导出数据的一些注意事项吧 ...

  9. mysql命令导入导出数据_mysql命令行导入和导出数据

    MySQL中导出CSV格式数据的SQL语句样本如下: select * from test_info into outfile '/tmp/test.csv' fields terminated by ...

最新文章

  1. Transformer的潜在竞争对手QRNN论文解读,训练更快的RNN
  2. 【解决办法】torch交叉熵使用时遇到 Dimension out of range
  3. 操作电脑小心“伤”手
  4. POJ 3061 -- Subsequence(二分)
  5. Linux进程地址空间和虚拟内存
  6. 水很深的深度学习(四)——卷积神经网络CNN
  7. 基于卷积网络的度量学习
  8. HMM中的前向法(转)
  9. 全年营业额怎么计算_年度利润总额怎么算?
  10. python扩展模块开发
  11. [转载] 达特茅斯学院 Dartmouth College
  12. 程序员的奋斗史(三十四)——人在囧途之应聘篇(四)
  13. 简单OR复杂?机器学习专家为你解密企业风险量化模型
  14. 【转】TinyXML2 入门教程
  15. 微信朋友圈卖葡萄经验分享
  16. 第十一家面试(堆糖)
  17. 远程连接内网电脑访问数据
  18. 苹果电脑安装java_mac系统 安装 JDK 并配置环境
  19. pdfjs 使用viewer 实现自动翻页(js控制)
  20. MemoryAnalyze分析weblogic的phd文件

热门文章

  1. __unsafe_unretained的使用
  2. linux进程简介,及PID
  3. 64位计算机比32快多少,64位系统和32位系统哪个速度快
  4. 1354柯南的变声蝴蝶结
  5. 【局域网共享问题】0x80004005
  6. 面向对象的六大原则之 接口隔离原则——ISP
  7. matlab曲线拟合后提取拟合方程
  8. python返回上级_python 获取当前,上级,上上级路径(任何上级路径)
  9. 【每日新闻】中国供应商:苹果新iPhone能为其它设备无线充电
  10. XPS测试谱图相关问题