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