DataX-进阶版-性能调优及批量执行等

DataX-进阶版-性能调优及批量执行等

1、性能调优见链接

https://www.cnblogs.com/hit-zb/p/10940849.html

2、批量执行

  • 先抽出数据库的配置参数为配置常量,用占位符代替
{
    "job": {
        "content": [
            {
                "reader": {
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:sqlserver://${sdbip}:1433;DatabaseName=${sdbname}"], 
                                "table": ["JX_ORG"]
                            }
                        ], 
                        "username": "${sdbuser}",
                        "password": "${sdbpwd}" 
                    }
                }, 
                "writer": {
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:mysql://${mdbip}:3306/${mdbname}?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&tinyInt1isBit=false&allowMultiQueries=true", 
                                "table": ["tb_org"]
                            }
                        ], 
                        "username": "${mdbuser}",
                        "password": "${mdbpwd}" 
                    }
                }
            }
        ], 
        "setting": {
            "speed": {
                "channel": "1"
            }
        }
    }
}
  • 然后写.bat批处理文件
@echo off
CHCP 65001
REM sqlServerIP地址
set sdbip="127.0.0.1"
REM sqlServer数据库名
set sdbname="jxs2"
REM sqlServer登陆名
set sdbuser="sa"
REM sqlServer登陆密码
set sdbpwd="123456"
REM mysqlIP地址
set mdbip="127.0.0.1"
REM mysql数据库名
set mdbname="smart_meal_order"
REM mysql登陆名
set mdbuser="root"
REM mysql登陆密码
set mdbpwd="123456"
REM 循环执行json文件
for %%i in (*.json) do (
    echo %%~nxi
    python ../datax.py -p "-Dsdbip=%sdbip% -Dsdbname=%sdbname% -Dsdbuser=%sdbuser% -Dsdbpwd=%sdbpwd% -Dmdbip=%mdbip% -Dmdbname=%mdbname% -Dmdbuser=%mdbuser% -Dmdbpwd=%mdbpwd%" %%~nxi
)
pause
  • 批处理文件文件必须和json文件放在同目录下
  • 批处理文件文件必须和json文件放在同目录下
  • 批处理文件文件必须和json文件放在同目录下

  • 知识点1
  • datax.py后可以跟的参数,更多参数详见顶部性能调优链接
datax.py -p "-Dsdbip=%sdbip% -Dsdbname=%sdbname% -Dsdbuser=%sdbuser% -Dsdbpwd=%sdbpwd% -Dmdbip=%mdbip% -Dmdbname=%mdbname% -Dmdbuser=%mdbuser% -Dmdbpwd=%mdbpwd%" xxx.json
for %%i in (*.json) do (
    echo %%~nxi
)
@echo off
setlocal enabledelayedexpansion

set sign=c:\users\suxq\desktop\sign.jar
set apkPath=c:\users\suxq\desktop\outputs\

for %%i in (%apkPath%*.apk) do (
    set oldApk=%%~nxi
    set outApk=!oldApk:unsign=google!
    echo java -jar %sign% !oldApk! !outApk!
    rem 这里是注释内容:由于 apk 文件 和 sign.jar 文件都是虚拟的,因此真正执行时会报错,这里就只是将 java 整句命令输出,从整句命令就可以确认是否会正确执行,如果这些文件都是真的话。真的脚本应该将 echo 去掉
)

Q.E.D.

使用DataX时,以下是一些注意事项: 1. 本兼容性:确保使用的DataX本与你的数据源和目标系统兼容。DataX有多个本和插件适配,选择适合你所需的本。 2. 配置文件:DataX使用JSON格式的配置文件来定义数据源和目标系统的连接信息、字段映射和转换规则等。请确保配置文件中的信息准确无误,并按照指定的格式进行配置。 3. 数据源准备:在执行数据迁移任务之前,确保数据源的连接信息正确,并且有足够的权限访问数据源。同时,也要确保数据源中的数据符合预期,以免导致迁移结果不准确。 4. 目标系统配置:在配置目标系统连接信息时,确保目标系统的准备工作完成,包括数据库表结构的创建、权限设置等。 5. 数据转换和映射:根据实际需求,使用DataX提供的各种插件和函数进行数据转换和映射操作。确保字段映射规则准确,并处理好数据类型转换、字符集编码等问题。 6. 监控和日志:DataX提供了日志记录功能,可以通过配置日志级别和路径来监控任务的执行情况和错误信息。在任务执行过程中,及时查看日志文件,以便发现和解决潜在的问题。 7. 性能调优:对于大规模数据迁移任务,可能需要进行性能调优。可以根据实际情况调整DataX的并发度、批量提交大小等参数,以提高数据迁移的效率。 8. 安全性考虑:在使用DataX时,需注意数据的安全性。合理设置数据源和目标系统的权限,确保只有授权人员能够访问和操作数据。 以上是使用DataX时的一些注意事项,根据具体情况和需求可能会有所不同。在使用DataX之前,建议先阅读官方文档,了解更多详细信息和最佳实践。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水豚少年的码农生活

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值