DataX入门教学
B站学习网址:
https://www.bilibili.com/video/BV1H44y1x76X/?p=5&spm_id_from=pageDriver&vd_source=5fcc0d714ffdcc521fdaa5ef49391aef
Windows 下安装DataX以及Data-Web
1、环境
1.1:本地安装好 jdk 、 maven 、 python 的基础环境
java版本:java 20.0.1 2023-04-18
maven:Apache Maven 3.9.2
python:Python 3.11.4
dataX:DataX-datax_v202303.zip
dataX-Web:2.1.2
下载地址:
DataX: https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202303/datax.tar.gz
DataX-Web: https://codeload.github.com/WeiYe-Jing/datax-web/zip/refs/tags/v-2.1.2
DatatX_python3: https://codeload.github.com/HxYyWw/DatatX_python3/zip/refs/heads/master
python: https://www.python.org/ftp/python/3.11.4/python-3.11.4-embed-amd64.zip
Java: https://download.oracle.com/java/20/latest/jdk-20_windows-x64_bin.msi
maven: https://dlcdn.apache.org/maven/maven-3/3.9.2/binaries/apache-maven-3.9.2-bin.zip
安装参考文档:https://blog.csdn.net/m0_46517444/article/details/118723643
1.2:在DataX的官网上下载压缩包,然后解压到自定义的文件夹里面
官网地址:https://github.com/alibaba/DataX
1.3:win +R 输入cmd命令。进入命令行模式[使用管理员模式]
本地安装路径:D:\Work\DataX\datax
防止乱码执行命令: CHCP 65001
使用命令进入bin目录:cd D:\Work\DataX\datax\bin
执行脚本:python datax.py …/job/json/job.json 也可以
执行脚本:python datax.py D:\Work\DataX\datax\job\job.json
1.4:查看模板
命令行:python datax.py -r streamreader -w streamwriter
1.5:编写脚本,
将脚本存放到datax\datax\job目录底下,
然后执行后python datax.py datax\job\你的脚本.json运行
脚本格式信息可以去 https://github.com/alibaba/DataX/ 查看
备注:
本地使用的python环境是python3.11.4,
请到 https://github.com/HxYyWw/DatatX_python3/tree/master
下载对应的三个.py文件代替datax文件夹中bin目录下的三个.py文件即可。
2、入门使用DataX
2.1 查看模板命令
python datax.py -r mysqlreader -w mysqlwriter
2.2 使用案例
{
"job": {
"setting": {
"speed": {
"channel": 并发数
}
},
"content": [
{
"reader": {
"name": "固定的名字",
"parameter": {
"username": "账号",
"password": "密码",
"column": [
"字段1",
"字段2",
"字段3"
ps:[*]表示所有列,但是不建议使用
],
"splitPk": "分片字段,丢给task,所以必须是整形。一般用主键即可(非必须)",
"connection": [
{
"table": [ "表"],
"jdbcUrl": [ "数据库连接地址"],
"querySql":["这里可以写查询数据的sql语句,但是如果这里写了,则不允许再配置table,否则会报错(非必须,table和querySql只能存在一个)"]
}
],
"where":"过滤条件"
}
},
"writer": {
"name": "固定的名字",
"parameter": {
"writeMode": "写入策略",
"username": "账户",
"password": "密码",
"column": [
"字段1",
"字段2",
"字段3"
],
"session": [
"DataX在获取Mysql连接时,执行session指定的SQL语句,修改当前connection session属性(非必须)"
],
"preSql": [
"写入数据到目的表前,会先执行这里的标准语句(非必须)"
],
"connection": [
{
"jdbcUrl": "数据库连接地址",
"table": [
"表"
]
}
]
}
}
}
]
}
}
2.3 其他配置连接
2.3.1:MySQL 数据库连接配置信息示例
"connection": [
{
"jdbcUrl": [ // 数据库连接字符串
"jdbc:mysql://localhost:3306/your_mysql_database"
],
"table": [ // 需要读取或写入的数据表名称
"your_mysql_table"
],
"username": "your_mysql_username", // 数据库用户名
"password": "your_mysql_password", // 数据库密码
"driverClassName": "com.mysql.jdbc.Driver", // 数据库驱动类名
"fetchSize": 1024 // 数据抓取的数量
}
]
2.3.2:Oracle 数据库连接配置信息示例:
"connection": [
{
"jdbcUrl": [ // 数据库连接字符串
"jdbc:oracle:thin:@your_oracle_host:port:your_oracle_sid"
],
"table": [ // 需要读取或写入的数据表名称
"your_oracle_table"
],
"username": "your_oracle_username", // 数据库用户名
"password": "your_oracle_password", // 数据库密码
"driverClassName": "oracle.jdbc.driver.OracleDriver", // 数据库驱动类名
"fetchSize": 1024 // 数据抓取的数量
}
]
2.3.3:SQL Server 数据库连接配置信息示例
"connection": [
{
"jdbcUrl": "jdbc:sqlserver://your_sqlserver_host:port;database=your_sqlserver_database", // 数据库连接字符串
"table": "your_sqlserver_table", // 需要读取或写入的数据表名称
"username": "your_sqlserver_username", // 数据库用户名
"password": "your_sqlserver_password", // 数据库密码
"driverClassName": "com.microsoft.sqlserver.jdbc.SQLServerDriver", // 数据库驱动类名
"fetchSize": 1024 // 数据抓取的数量
}
]
2.3.4:PostgreSQL 数据库连接配置信息示例:
"connection": [
{
"jdbcUrl": [ // 数据库连接字符串
"jdbc:postgresql://your_postgresql_host:port/your_postgresql_database"
],
"table": [ // 需要读取或写入的数据表名称
"your_postgresql_table"
],
"username": "your_postgresql_username", // 数据库用户名
"password": "your_postgresql_password", // 数据库密码
"driverClassName": "org.postgresql.Driver", // 数据库驱动类名
"fetchSize": 1024 // 数据抓取的数量
}
]
3、DataX Web 安装[未安装,需要linux系统,或者window idea]
3.1:安装
下载地址:https://github.com/WeiYe-Jing/datax-web
本地安装路径:D:\Work\DataX\datax-web
首先运行需要一个本地的MySQL数据库
解压执行数据库脚本:D:\Work\DataX\datax-web\bin\db
解压后的目录里bin目录的db目录下有个datax_web.sql
打开之后可以看到,它只有建表语句,没有建库语句,而数据库名是datax_web
3.2:修改application.yml
文件路径:D:\Work\DataX\datax-web\datax-admin\src\main\resources\application.yml
DataX入门教学的更多相关文章
- Windows Azure入门教学系列 (二):部署第一个Web Role程序
本文是Windows Azure入门教学的第二篇文章. 在第一篇教学中,我们已经创建了第一个Web Role程序.在这篇教学中,我们将学习如何把该Web Role程序部署到云端. 注意:您需要购买Wi ...
- Windows Azure入门教学系列 (一): 创建第一个WebRole程序
原文 Windows Azure入门教学系列 (一): 创建第一个WebRole程序 在第一篇教学中,我们将学习如何在Visual Studio 2008 SP1中创建一个WebRole程序(C#语言 ...
- Windows Azure入门教学系列 (九):Windows Azure 诊断功能
本文是Windows Azure入门教学的第九篇文章. 本文将会介绍如何使用Windows Azure 诊断功能.跟部署在本地服务器上的程序不同,当我们的程序发布到云端之后,我们不能使用通常的调试方法 ...
- Windows Azure入门教学系列 (七):使用REST API访问Storage Service
本文是Windows Azure入门教学的第七篇文章. 本文将会介绍如何使用REST API来直接访问Storage Service. 在前三篇教学中,我们已经学习了使用Windows Azure S ...
- Windows Azure入门教学系列 (六):使用Table Storage
本文是Windows Azure入门教学的第六篇文章. 本文将会介绍如何使用Table Storage.Table Storage提供给我们一个云端的表格结构.我们可以把他想象为XML文件或者是一个轻 ...
- Windows Azure入门教学系列 (五):使用Queue Storage
本文是Windows Azure入门教学的第五篇文章. 本文将会介绍如何使用Queue Storage.Queue Storage提供给我们一个云端的队列.我们可以用Queue Storage来进行进 ...
- [转]Windows Azure入门教学系列 (六):使用Table Storage
本文转自:http://blogs.msdn.com/b/azchina/archive/2010/03/11/windows-azure-table-storage.aspx 本文是Windows ...
- Windows Azure中文博客 Windows Azure入门教学系列 (一): 创建第一个WebRole程序
http://blogs.msdn.com/b/azchina/ 本文转自:http://blogs.msdn.com/b/azchina/archive/2010/02/09/windows-azu ...
- Poco的介绍和入门教学
版权声明:该文章为AirtestProject原创文章:允许转载,但转载必须注明“转载”并保留原链接 前言 前面我们已经介绍了基于图像识别的测试框架Airtest,通过图像识别,已经可以编写大部分的测 ...
- Windows Azure入门教学:使用Blob Storage
对于.net开发人员,这是一个新的领域,但是并不困难.本文将会介绍如何使用Blob Storage.Blob Storage可以看做是云端的文件系统.与桌面操作系统上不同,我们是通过REST API来 ...
随机推荐
- python入门教程之十四面向对象
面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的"对象",每个对象都拥有相同的 ...
- 部署:keepalived-1.3.5+MHA部署mysql集群
MHA: MHA工作原理总结为以下几条: 从宕机崩溃的master保存二进制日志事件(binlog events): 识别含有最新更新的slave: 应用差异的中继日志(relay log)到其他sl ...
- 用 hexo 结合 github 从0到1开始搭建属于你的blog
前言 github pages服务搭建博客的好处有: 全是静态文件,访问速度快: 免费方便,不用花一分钱就可以搭建一个自由的个人博客,不需要服务器不需要后台: 可以随意绑定自己的域名,不仔细看的话根本 ...
- c/c++零基础坐牢第二天
c/c++从入门到入土(2) 开始时间2023-04-13 23:02:34 结束时间2023-04-14 01:26:05 前言:如果第一天没把你劝退,恭喜你!通过今天的学习你就能半步踏进编程的大门 ...
- [C++核心编程] 4.6、继承
文章目录 4.6 继承 4.6.1 继承的基本语法 4.6.2 继承方式 4.6.3 继承中的对象模型 4.6.4 继承中构造和析构顺序 4.6.5 继承同名成员处理方式 4.6.6 继承同名静态成员 ...
- Mac M系列芯片 vue前端node-sass兼容问题解决
0.由于M系列芯片是arm架构,在使用brew安装node时都是arm的node,但是node-sass@4.14.1版本中不支持arm架构的出现如下报错: Error: Node Sass does ...
- python中的一些解码和编码
开头 最近爬取百度贴吧搜索页的时候遇到一个url的编码问题,颇为头疼,记录下来防止下次忘记 工具网站 解码编码的工具网站推荐 http://tool.chinaz.com/tools/urlencod ...
- 2022-04-26:给定一个数组componets,长度为A, componets[i] = j,代表i类型的任务需要耗时j 给定一个二维数组orders,长度为M, orders[i][0]代表i
2022-04-26:给定一个数组componets,长度为A, componets[i] = j,代表i类型的任务需要耗时j 给定一个二维数组orders,长度为M, orders[i][0]代表i ...
- 2021-01-09:linux中,某一个实时日志通过什么命令查?
福哥答案2020-01-09:[答案来自此链接:](https://www.zhihu.com/question/438536200)1.tailtail -f首先就是 tail -f,tail 命令 ...
- 2021-02-14:假设有排成一行的N个位置,记为1~N,N 一定大于或等于 2,开始时机器人在其中的M位置上(M 一定是 1~N 中的一个)。如果机器人来到1位置,那么下一步只能往右来到2位置;如果机器人来到N位置,那么下一步只能往左来到 N-1 位置;如果机器人来到中间位置,那么下一步可以往左走或者往右走;规定机器人必须走 K 步,最终能来到P位置(P也是1~N中的一个)的方法有多少种?
2021-02-14:假设有排成一行的N个位置,记为1~N,N 一定大于或等于 2,开始时机器人在其中的M位置上(M 一定是 1~N 中的一个).如果机器人来到1位置,那么下一步只能往右来到2位置:如 ...