dataX同步SQLserver到MySQL数据

引用datax官方描述:

DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。

因业务需要和三方系统交互,数据同步采用jdbc连接三方库方式进行数据同步,优点是灵活性强,比如可以在同步数据的时候做一些扩展性的操作,缺点是随着复杂度增长,以及三方库的增多,导致资源消耗越来越多,很容易出现性能问题。在此调研采用datax来同步数据,笔记如下:

1:下载dataX:

Gitee.comicon-default.png?t=N7T8https://gitee.com/link?target=https%3A%2F%2Fdatax-opensource.oss-cn-hangzhou.aliyuncs.com%2F202308%2Fdatax.tar.gz

2:上传到linux服务器,rz命令,上传后解压到某目录,我直接解压没指定目录

Tar -zxvf datax.tar.gz

3:进入datax目录验证是否成功

python bin/datax.py  job/job.json,

如出现上图为没有安装Java环境,上传jar到服务器后在etc/profile中配置目录即可

export JAVA_HOME=/home/java/jdk1.8.0_361

export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar

export PATH=$JAVA_HOME/bin:$PATH

Source /etc/profile 即可使配置文件生效,执行Java -version

4:再次执行:python bin/datax.py  job/job.json

进行到这一步表示安装完成

5:配置

Sqlserverreader

{

    "name": "sqlserverreader",

    "parameter": {

        "username": "",

        "password": "",

        "connection": [

            {

                "table": [],

                "jdbcUrl": []

            }

        ]

    }

}

Mysql:

{

    "name": "mysqlreader",

    "parameter": {

        "username": "",

        "password": "",

        "column": [],

        "connection": [

            {

            "jdbcUrl": [],

            "table": []

            }

        ],

        "where": ""

    }

}

6:启动后:python bin/datax.py job/warehouse-cq.json

这个问题是因为url配置有问题

正确配置:

{

    "job": {

        "content": [

            {

                "reader": {

                    "name": "sqlserverreader",

                    "parameter": {

                        "connection": [

                            {

                                "jdbcUrl": ["jdbc:sqlserver://219.153.111.**:**337;DatabaseName=***1076"],

                                "querySql": ["SELECT a.spid as erp_product_id,a.ckid as warehouse_id,sum(a.shl) as stock_num  FROM phspkc AS a LEFT JOIN zl_spzl zs ON a.spid = zs.spid LEFT JOIN phzykc AS b ON a.spid= b.spid AND a.jwhid= b.jwhid AND a.pici= b.pici AND a.hzid= b.hzid LEFT JOIN zl_Hzzl z on a.hzid = z.hzid INNER JOIN zl_ckzl AS c ON a.ckid= c.ckid LEFT JOIN ( SELECT hzid,spid,pici,jwhid,SUM(shl) AS shl FROM dszykc GROUP BY hzid,spid,pici,jwhid ) AS d ON a.spid= d.spid AND a.jwhid= d.jwhid AND a.pici= d.pici AND a.hzid= d.hzid WHERE 1=1             GROUP BY a.spid, a.ckid, a.pici, a.pihao, a.sxrq, a.baozhiqi, a.jlgg, a.rkrq, a.djbh, a.hzid, z.hzmch, a.wldwid, a.dangqzht, a.jwhid, zs.spbh"]

                            }

                        ],

                        "password": "*****",

                        "username": "**"

                    }

                },

                "writer": {

                    "name": "mysqlwriter",

                    "parameter": {

                        "column": ["erp_product_id","warehouse_id","stock_num"],

                        "connection": [

                            {

                                "jdbcUrl": "jdbc:mysql://192.168.0.184:3307/ydw-middleground-dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false",

                                "table": ["warehouse_stock"]

                            }

                        ],

                        "password": "******",

                        "preSql": ["truncate table warehouse_stock"],

                        "session": [],

                        "username": "****",

                        "writeMode": "update"

                    }

                }

            }

        ],

        "setting": {

            "speed": {

                "channel": "5"

            }

        }

    }

}

7:全量同步数据,同步成功

8:配置定时

查看是否已配置定时任务:crontab -l

若未配置:no crontal for xxx

创建crondatax文件:vim crondatax

编辑内容,十分钟运行一次:

 0,10,20,35,44,50 * * * *  python /root/datax//bin/datax.py /root/datax/job/warehouse-cq.json >>/home/datax/logs/corndataxlog.`date +\%Y\%m\%d\%H\%M\%S`  2>&1,

重启定时任务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/753923.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

易用且免费的在线3D交互编辑器?

目前市面上的在线3D交互编辑器,有收费、免费、永久免费的。 1、博维数孪:永久免费的在线3D数字孪生应用平台,用户可以轻松创作和分享多种应用类型,包括3D交互展示、3D产品目录、交互式动画、3D产品配置器、交互式演示文稿、在线商…

webstorm无法识别tsconfig.json引用项目配置文件中的路径别名

问题 vite项目模板中,应用的ts配置内容写在tsconfig.app.json文件中,并在tsconfig.json通过项目引用的方式导入 {"files": [],"references": [{"path": "./tsconfig.app.json"},{"path": "./t…

Dominate_一个用于生成和操作 HTML 文档的 Python 库

目录 01初识 Dominate 什么是 Dominate? 为什么选择 Dominate? 安装与配置 02Dominate 的基本使用 创建简单的 HTML 文档 添加表格 嵌套结构 03Dominate 的高级功能 动态内容生成 使用…

【自动化测试】Selenium自动化测试框架 | 相关介绍 | Selenium + Java环境搭建 | 常用API的使用

文章目录 自动化测试一、selenium1.相关介绍1.Selenium IDE2.Webdriverwebdriver的工作原理: 3.selenium Grid 2.Selenium Java环境搭建3.常用API的使用1.定位元素2.操作测试对象3.添加等待4.打印信息5.浏览器的操作6.键盘事件7.鼠标事件8.定位一组元素9.多层框架定…

CO-DETR利用coco数据集训练和推理过程

CO-DETR利用coco数据集训练和推理过程,参考链接 Co-DETR训练自己的数据集 文章目录 前言训练过程推理过程总结 前言 环境:PyTorch 1.11.0 Python 3.8(ubuntu20.04) Cuda 11.3 先是在github上下载CO-DETR模型 !git clone https://github.com/Sense-X/Co…

新手教程系列 -- SQLAlchemy对同一张表联表两次

在开发过程中,我们经常会遇到对同一张表进行多次联表查询的需求。比如在查询航线时,我们希望将起飞和降落的机场名称代入结果中。为了实现这一目标,机场名称统一存放在 AirPort 表中。下面,我们将介绍如何通过 SQLAlchemy 实现这一需求。 问题描述 一般情况我们第一时间会…

针对VMWare无法使用鼠标功能键问题

在使用 VMWare 虚拟机的Ubuntu系统时发现无法使用许多鼠标带有额外的功能键,比如常用的前进后退,但是双系统中的Ubuntu没有问题,后来一搜发现是,虚拟系统中不支持这些功能键。因此我们对这个问题进行了解决。 解决方案 1.找到自…

Jenkins容器的部署

本文主要是记录如何在Centos7上安装docker,以及在docker里面配置tomcat、mysql、jenkins等环境。 一、安装docker 1.1 准备工作 centos7、VMware17Pro 1.2 通过yum在线安装dokcer yum -y install docker1.3 启动docker服务 systemctl start docker.service1.4 查看docke…

【AUTOSAR 基础软件】DEM模块详解(诊断故障管理)

文章包含了AUTOSAR基础软件(BSW)中DEM模块相关的内容详解。本文从ISO标准,AUTOSAR规范解析,ISOLAR-AB配置以及模块相关代码分析四个维度来帮读者清晰的认识和了解DEM这一基础软件模块。文中涉及的ISOLAR-AB配置以及模块相关代码都…

hive零基础入门

1、hive简介 hive:由facebook开源用于解决海量结构化数据的统计工具。 hive是基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张表,并提供sql查询功能。 2、hive本质 hive的本质是HQL(HiveSQL)转化成MapR…

【人工智能】—XGBoost、CatBoost、LightGBM算法构建信用卡欺骗识别模型

引言 在金融领域,信用卡欺诈行为一直是银行和金融机构面临的一大挑战。随着电子商务的快速发展,信用卡欺诈事件的数量和复杂性都在不断增加。据统计,全球每年因信用卡欺诈造成的损失高达数十亿美元。因此,开发有效的欺诈检测系统…

检索增强生成 (RAG):揭开这一术语的神秘面纱并解释其带来的价值

一、介绍 如今,数据已成为新的黄金,而高效筛选这些丰富信息的能力则是成功企业脱颖而出的关键。Retrieval Augmented Generation(RAG)是创新的标杆,尤其是在知识管理领域。它不再只是为了存储信息,而是为了…

半小时速通Python爬虫!GitHub开源的Python爬虫入门教程

今天给小伙伴们带来了一篇详细介绍 Python 爬虫入门的教程,从实战出发,适合初学者。 小伙伴们只需在阅读过程紧跟文章思路,理清相应的实现代码,30 分钟即可学会编写简单的 Python 爬虫。 这篇 Python 爬虫教程主要讲解以下 5 部…

爆款短视频素材库有哪些?分享几个容易火的视频素材网站

当今自媒体时代,每位内容创作者都渴望制作出下一个爆款短视频。你是否在寻找那些能让你的视频迅速蹭热度的顶级素材库?本文将为你介绍几个视频素材库,它们或许能成为你成功的秘密武器。首先要提的,自然是著名的国内素材库——蛙学…

信创加密沙箱,是如何应对国产化系统加密下的场景的?

SDC信创加密沙箱作为一款基于国产操作系统(如麒麟、统信等)设计的安全防护工具,以安全沙箱为核心概念,对沙箱内的数据和应用进行全面保护,保障业务系统和核心资料的安全。 信创加密沙箱的背景与意义 在当前复杂的网络…

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【15】异步_线程池

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【15】异步_线程池 初始化线程的 4 种方式开发中为什么使用线程池线程池七大参数线程池工作原理常见的 4 种线程池生产中如何使用线程池?CompletableFuture 异步编排—简介业务…

SpringBoot防抖方案(防止表单重复提交)

SpringBoot防抖方案(防止表单重复提交) 1.应用场景(什么是防抖) 所谓防抖,一是防用户手抖,二是防网络抖动。在Web系统中,表单提交是一个非常常见的功能,如果不加控制,容…

最新AIGC系统源码-ChatGPT商业版系统源码,自定义ChatGPT指令Promp提示词,AI绘画系统,AI换脸、多模态识图理解文档分析

目录 一、前言 系统文档 二、系统演示 核心AI能力 系统快速体验 三、系统功能模块 3.1 AI全模型支持/插件系统 AI模型提问 文档分析 ​识图理解能力 3.2 GPts应用 3.2.1 GPTs应用 3.2.2 GPTs工作台 3.2.3 自定义创建Promp指令预设应用 3.3 AI专业绘画 3.3.1 文…

Linux——echo命令,管道符,vi/vim 文本编辑器

1.echo 命令 作用 向终端设备上输出字符串或变量的存储数据 格式 echo " 字符串 " echo $ 变 量名 [rootserver ~] # echo $SHELL # 输出变量的值必须加 $ /bin/bash [rootserver ~] # str1" 我爱中国 " # 自定义变量 echo 重定向输出到文件 ec…

【自然语言处理系列】手动安装和测试Spacy中en_core_web_sm模型的详细教程

摘要:本教程旨在为自然语言处理(NLP)初学者提供一个详细的指南,用于手动安装流行的NLP库Spacy及其英语模型en_core_web_sm。文章将逐步指导您如何安装Spacy库、查看其版本,确定并下载适合的en_core_web_sm模型版本&…