数据同步工具datax安装配置与示例

文章目录

  • 一、部署步骤
    • 1、jdk环境
    • 2、python环境
      • 步骤一:安装
        • 方式一:官网下载安装包
        • 方式二:brew命令安装
      • 步骤二:配置环境变量
      • 步骤三:验证
    • 3、maven环境(可选)
  • 二、下载安装datax
    • 1、下载datax源码
    • 2、下载datax安装文件
    • 3、验证
  • 三、配置示例
    • 1、生成配置模版
    • 2、根据配置模版生成配置文件
    • 3、运行datax
    • 4、执行成功后查看结果表,数据正常进入


一、部署步骤

1、jdk环境

查看jdk的版本,一般使用1.8.
在这里插入图片描述

2、python环境

datax是以python脚本形式的语言,需要python的运行环境。
以python3为例,mac安装。

步骤一:安装

方式一:官网下载安装包

访问Python官方网站(https://www.python.org/downloads/macos/)下载适用于Mac的Python安装包。根据你的操作系统版本选择合适的安装包,安装步骤与正常软件安装步骤一致。
在这里插入图片描述

方式二:brew命令安装

首先mac中要有Homebrew(包管理器),如果未安装可以通过命令行进行安装。
安装步骤:

  1. 打开终端,输入命令
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 更新Homebrew的配方和包
brew update
  1. 查看python版本
brew search python@

在这里插入图片描述

  1. 安装python,可以指定版本,如果不指定版本,会安装最新版
brew install python3
  1. 安装时可能会提示git认证过期,若没有跳至第7步,需要重新认证,获取token地址:https://github.com/settings/tokens/new?scopes=gist,public_repo&description=Homebrew
    在这里插入图片描述在这里插入图片描述

  2. 在终端执行,第五步获取的token值

export HOMEBREW_GITHUB_API_TOKEN=

步骤二:配置环境变量

安装好python环境后,配置环境变量。

  • 配置编辑 vim ~/.bash_profile,加入alias python="/opt/homebrew/bin/python3",后面路径为安装的执行路径,可用which python3获取;
  • 刷新配置文件,source ~/.bash_profile,关闭终端重新打开

步骤三:验证

  • 配置完成后,验证是否安装成功
python --version

3、maven环境(可选)

如果下载源码进行编译的话,需要maven环境,直接下载datax工具包则不需要。
在这里插入图片描述

二、下载安装datax

方式1、2任选其一。

1、下载datax源码

  1. git地址:https://github.com/alibaba/DataX?tab=readme-ov-file
    在这里插入图片描述

  2. 本地打开源码后可能有依赖引用不到,需要手动添加,更换pom中的路径。
    在这里插入图片描述
    jar包下载地址:http://www.java2s.com/Code/Jar/j/Downloadjconn3jar.htm

  3. idea中添加jar包
    在这里插入图片描述

  4. 通过maven打包

cd  代码路径
mvn -U clean package assembly:assembly -Dmaven.test.skip=true

在这里插入图片描述

  1. 打包执行后,在target目录下
    在这里插入图片描述

2、下载datax安装文件

  1. 下载地址:https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/20220530/datax.tar.gz
  2. 下载后解压
tar -zxvf datax.tar.gz -C /Users/wangzhaokun/Downloads/google

3、验证

  1. 自测脚本
# python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json
 
# 例如:
python /Users/wangzhaokun/Downloads/google/datax/bin/datax.py /Users/wangzhaokun/Downloads/google/datax/job/job.json

在这里插入图片描述
在这里插入图片描述
2. 异常处理
若执行脚本中出现缺少文件xxx/datax/plugin/reader/._drdsreader/plugin.json类似文件存在,则需要删除 plugin 目录下的所有的以 _ 开头的文件

#进入/datax/plugin目录下
find ./* -type f -name ".*er" | xargs rm -rf

三、配置示例

场景:oracle数据库中,视图数据同步到表中。

1、生成配置模版

生成配置文件可选的reader\writer在plugin目录下

  1. 执行python datax.py -r oraclereader -w oraclewriter,生成模版文件
{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "oraclereader",
                    "parameter": {
                        "column": [],
                        "connection": [
                            {
                                "jdbcUrl": [],
                                "table": []
                            }
                        ],
                        "password": "",
                        "username": ""
                    }
                },
                "writer": {
                    "name": "mysqlwriter",
                    "parameter": {
                        "column": [],
                        "connection": [
                            {
                                "jdbcUrl": "",
                                "table": []
                            }
                        ],
                        "password": "",
                        "preSql": [],
                        "session": [],
                        "username": "",
                        "writeMode": ""
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": ""
            }
        }
    }
} 

2、根据配置模版生成配置文件

文件放在job目录下,模版文件中可通过表对表,也可能过sql查询结果,然后写入结果表。

#test.json
{
	"content":[
		{
			"reader":{
				"name":"oraclereader",
				"parameter":{
					"connection":[
						{
							"jdbcUrl":[
								"jdbc:oracle:thin:@//ip:port/gfmisdev"
							],
							"querySql":[
								" SELECT * from  MV_LEDGER_AGENCY"
							]
						}
					],
					"password":"*",
					"username":"KF_PAY_0512"
				}
			},
			"writer":{
				"name":"oraclewriter",
				"parameter":{
					"column":[
						"*"
					],
					"connection":[
						{
							"jdbcUrl":"jdbc:oracle:thin:@//ip:port/gfmisdev",
							"table":[
								"FM_LEDGER_AGENCY_TEST"
							]
						}
					],
					"password":"*",
					"preSql":[
						
					],
					"username":"KF_PAY_0512"
				}
			}
		}
	],
	"setting":{
		"speed":{
			"channel":"1"
		}
	}
}

3、运行datax

在bin目录下执行,也可通过全路径执行。

python datax.py ../job/test.json

4、执行成功后查看结果表,数据正常进入

在这里插入图片描述

待完善补充!!!

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

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

相关文章

100 个网络基础知识,看完成半个网络高手

100 个网络基础知识,看完成半个网络高手。 1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2)OSI 参考模型的层次是什么? 有 7 个 OSI 层:物理层,数据链路层,网络层&…

入门微调预训练Transformer模型

大家好,HuggingFace 为众多开源的自然语言处理(NLP)模型提供了强大的支持平台,让这些模型能够通过训练和微调来更好地服务于各种特定的应用场景。在大型语言模型(LLM)迅猛发展的今天,HuggingFac…

配置vscode用于STM32编译,Debug

配置环境参考: Docs 用cubemx配置工程文件,用VScode打开工程文件。 编译的时候会有如下报错: vscode出现process_begin :CreateProcess failed 系统找不到指定文件 解决方案:在你的makefile中加上SHELLcmd.exe就可以了 参考…

数据库系统

三级模式 外模式 数据库的用户使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是与某一应用程序有关的数据的逻辑表示。 概念模式 它是数据库中全体数据的逻辑结构和特征的描述;模式是所有用户的公共数据视图。因为数据库是多人共享使用的&…

CICD流水线 发布公用jar到maven私仓

3.1 发布公用jar到Maven私仓 1.选择流水线 2.新建流水线 3.选择模版 4.选择代码仓库 5. 调整构建命令 6.新增一个新阶段为 ”发送通知“,这里以邮件通知为例,保存之后,运行该流水线,对应jar就会自动发到我们私仓,并之…

春招-实战项目冲刺直播课

春招-实战项目冲刺直播课 CCtalk 丰富多元的综合内容平台-专业的知识分享与在线教育平台https://www.cctalk.com/m/group/91161801

CTF之社工-初步收集

题目就一个刷钻网站(假的) 扫描一下目录 发现还有一个登录界面 时间多的可以爆破一下(反正我爆不出来),接着我们下载那个压缩包看看 发现是一个钓鱼小软件 没发现什么有用的信息那我们就去wireshark看看数据包喽&#…

winform 等待加载窗体

winform 等待加载窗体 当我们查询sql语句或处理大量的数据时,为了防止界面假死状态,可以加一个等待窗体过渡一下。 1. 新建一个主窗体,一个等待窗体frmLoading 2. 给等待窗体增加一个动态图片 3. 在主窗体中调用 namespace winformLoading…

解析以及探讨数据库技术及其应用

一,引言 数据库作为信息时代的基石,是一种用于高效存储、管理和检索大量结构化数据的系统。它的核心价值在于提供了一种可靠且可扩展的方式,将复杂多样的数据按照特定结构和规则组织起来,以便于不同用户和应用程序进行访问和使用。…

揭秘!接口自动化测试应该做什么?

在软件开发过程中,接口测试是一个至关重要的环节,它确保了系统或组件之间的数据交换、传递和控制管理过程以及相互逻辑依赖关系的正确性。传统的瀑布软件流程中,测试人员在做某个系统的手工功能测试时,会首先从业务人员或开发人员…

vitepress系列-04-规整sideBar左侧菜单导航

规整左侧菜单导航 新建navConfig.ts 文件用来管理左侧导航菜单: 将于其他的配置分开,避免config.mts太大 在config目录下,新建 sidebarModules文件目录用来左侧导航菜单 按模块进行分类: 在config下新建sidebarConfig.ts文件&…

Visual Studio 配置代码风格审查工具cpplint

文章目录 一、Visual Studio 配置代码风格审查工具cpplint1、安装2、运行3、集成到Visual Studio4、集成到Git 前言 cpplint是一个用于检查C代码风格的工具,它可以帮助我们发现潜在的编码问题,提高代码质量。cpplint遵循Google的C编码规范,通…

【c++练习】求3个长方柱的体积

【问题描述】编写一个基于对象数组的程序,用成员函数实现多个功能,求3个长方柱的体积。要求用成员函数实现以下功能: 1、由键盘分别输入3个长方柱的长、宽、高; 2、计算长方柱的体积; 3、输出3个长方柱的体积。 【…

【白菜基础】蛋白组学之生信分析(1)

刚换了一个新课题组,新老板的研究方向为蛋白组学,从未接触过蛋白组学的我准备找一组模拟数据进行生信分析的入门学习。 蛋白组学数据挖掘流程图,参考公众号:蛋白质组学数据挖掘思路解析 (qq.com) 一、认识数据 我们组的数据主要…

csdn博客自定义模块:显示实时天气、日历、随机语录代码

目录 1.样式说明2.效果展示3.代码下载 1.样式说明 vip会员或者博客专家可以自定义模块代码,比如我博客的样式,有这几部分组成: 灯笼祝福(我这里是龙年快乐,可以自定义更改任何字)、滚动欢迎语&#xff08…

Ubuntu下TexStudio如何兼容中文

怎么就想起来研究一下这个? 我使用大名鼎鼎的3Blue1Brown数学动画引擎Manim,制作了一个特别小的动画视频克里金插值。在视频中,绘制文字时,Manim使用到了texlive texlive-latex-extra这些库。专业的关系,当年的毕设没…

服装商城小程序设计分享,服装商城设计分享,自助建站模板分享

在当今数字化的时代,服装商城小程序的设计成为了提升用户购物体验的关键。下面,我将分享一些关于服装商城小程序设计的要点和思路。 首先,界面的简洁与美观至关重要。简洁的布局能让用户轻松找到所需商品,避免繁琐的操作流程。同时…

如何水出第一篇SCI:SCI发刊历程,从0到1全过程经验分享!!!

如何水出第一篇SCI:SCI发刊历程,从0到1全路程经验分享!!! 详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:Ai学术叫叫兽e…

血细胞检测数据集 | 用于血细胞计数+检测的小规模数据集_已经整理成VOC格式_总共410张图

项目应用场景 面向血细胞检测计数数据集,已经整理成 VOC 格式,可以直接用于目标检测算法的训练,如 YOLO 等目标检测算法的训练。血细胞检测数据集图片质量好,可直接训练出一个血细胞检测模型,或者作为血细胞检测数据集…

SOLIDWORKS在教育领域的应用

随着科技的飞速发展和数字化浪潮的推进,SOLIDWORKS作为一款强大的三维设计软件,其应用领域已经不仅局限于工程设计和制造行业,还逐渐渗透到教育领域中,成为培养学生实践能力和创新思维的重要工具。本文将探讨SOLIDWORKS在教育领域…