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

news/2024/5/18 22:22:18 标签: 数据库, mysql, jdbc, jvm, linux

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
  • 知识点2
  • 循环出目录下的所有文件名,更多进阶操作见链接https://www.cnblogs.com/liangblog/p/9835940.html
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.


http://www.niftyadmin.cn/n/748138.html

相关文章

两台一级域名相同二级域名不同的服务器,怎么共享session

比如www.hongchangfirst.com和video.hongchangfirst.com两个域名,一级域名相同,二级域名不同。每个服务器运行着不同的功能模块或者不同的子系统,他们使用不同的二级域名,但用户系统是统一的,即一套用户名、密码在整个…

bat批处理文件语句及用法记录

bat批处理文件语句及用法记录 参考链接 https://www.cnblogs.com/liangblog/p/9835940.html 1、批量输出文件名 for %%i in (*.json) do (echo %%~nxi ) echo off setlocal enabledelayedexpansionset signc:\users\suxq\desktop\sign.jar set apkPathc:\users\suxq\desktop\ou…

(转载) 有关项目的facet是什么东西

Eclipse的Project Facets属性Project Facets1. Project Facets可理解为:项目的特性,主流 IDE (Eclipse IDEA) 都提供了 facet 的配置。Project Facets作用:暂不描述,先看下面的实验。2. 来个例子:1) 新建一个java proj…

内存映射文件机制处理大文件

先说结论:使用内存映射文件来处理大文件可以提高效率。 为什么呢? 我们先来看看如果不使用内存映射文件的处理流程是怎样的,首先我们得先读出磁盘文件的内容到内存中,然后修改,最后回写到磁盘上。第一步读磁盘文件是…

程序员必知(一):CSRF跨站请求伪造

首先说明一下什么是CSRF(Cross Site Request Forgery)? 跨站请求伪造是指攻击者可以在第三方站点制造HTTP请求并以用户在目标站点的登录态发送到目标站点,而目标站点未校验请求来源使第三方成功伪造请求。 为什么会有CSRF? JS控制浏览器发送请求的时…

mysql获取当前时间,前一天,后一天

mysql获取当前时间,前一天,后一天 1、日期加减 今天是2016年08月01日。date_sub(2016-08-01,interval 1 day) 表示 2016-07-31 date_sub(2016-08-01,interval 0 day) 表示 2016-08-01 date_sub(2016-08-01,interval -1 day) 表示 2016-08-02date_sub(cur…

ps -ef 和ps -aux的区别

Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix St…