文章目录
- 一、部署步骤
- 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
(包管理器),如果未安装可以通过命令行进行安装。
安装步骤:
- 打开终端,输入命令
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 更新Homebrew的配方和包
brew update
- 查看python版本
brew search python@
- 安装python,可以指定版本,如果不指定版本,会安装最新版
brew install python3
-
安装时可能会提示git认证过期,若没有跳至第7步,需要重新认证,获取token地址:https://github.com/settings/tokens/new?scopes=gist,public_repo&description=Homebrew
-
在终端执行,第五步获取的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源码
-
git地址:https://github.com/alibaba/DataX?tab=readme-ov-file
-
本地打开源码后可能有依赖引用不到,需要手动添加,更换pom中的路径。
jar包下载地址:http://www.java2s.com/Code/Jar/j/Downloadjconn3jar.htm -
idea中添加jar包
-
通过maven打包
cd 代码路径
mvn -U clean package assembly:assembly -Dmaven.test.skip=true
- 打包执行后,在target目录下
2、下载datax安装文件
- 下载地址:https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/20220530/datax.tar.gz
- 下载后解压
tar -zxvf datax.tar.gz -C /Users/wangzhaokun/Downloads/google
3、验证
- 自测脚本
# 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目录下
- 执行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、执行成功后查看结果表,数据正常进入
待完善补充!!!