欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DataX编译笔记

程序员文章站 2022-03-08 14:06:51
...

DataX简介

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。

获取源码

git clone [email protected]:alibaba/DataX.git

DataX 编译和使用环境

本文编译环境

名称 版本
Mac OS X 10.14.3
Java 1.8.0_152
Maven 3.5.0
Python 2.7.10

编译DataX常见问题

Maven 仓库配置问题

DataX目前支持相当丰富的数据读写插件,这也导致依赖复杂度增加,所以使用推荐配置多个仓库,防止Maven编译过程中找不到Jar包,如在编译hdfsreader插件时可能会遇到eigenbase-properties:jar:1.1.4 is missing异常,阿里云maven central库不存在eigenbase-properties-1.1.4版本。在编译过程中遇到缺少或找不到Jar包源时可以先查一下仓库中是否存在,如阿里云maven仓库查询

推荐如下仓库配置(参考: DataX Maven编译异常issue):

:配置文件settings.xml位于:$M2_HOME/conf/settings.xml或个人配置~/.m2/settings.xml

<mirrors>
        <mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
        </mirror>
        <!-- *仓库1 -->
        <mirror>
            <id>repo1</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo1.maven.org/maven2/</url>
        </mirror>
        <!-- *仓库2 -->
        <mirror>
            <id>repo2</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo2.maven.org/maven2/</url>
        </mirror>
</mirrors>

tablestore-streamclient版本问题

编译otsstreamreader模块时如果遇到com.aliyun.openservices:tablestore-streamclient:jar问题时,可以修改otsstreamreader/pom.xmltablestore-streamclient 版本信息,去掉-SNAPSHOT就好,如:

        <dependency>
            <groupId>com.aliyun.openservices</groupId>
            <artifactId>tablestore-streamclient</artifactId>
            <version>1.0.0</version>
        </dependency>

odpsreader里odps-sdk-core依赖问题

源码里odpsreaderodps-sdk-core版本较低,在编译odpsreader插件过程中会报莫名奇妙的问题,有网友指这个版本依赖传递依赖含有阿里内部jar,外部仓库无法加载这个jar。后续版本可能会Fix这个问题,如果遇到odpsreader模块编译问题,建议升级odps-sdk-core版本试一下,可以到阿里云maven仓库 找最新版的sdk版本,并修改文件odpsreader/pom.xml,升级odps-sdk-core至最新版,例如下:

		<dependency>
			<groupId>com.aliyun.odps</groupId>
			<artifactId>odps-sdk-core</artifactId>
			<version>0.32.5-public</version>
		</dependency>

Maven打包编译

建议打包时跳过测试,如:

mvn -U clean package assembly:assembly -Dmaven.test.skip=true

打包成功日志:

[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 07:26 min
[INFO] Finished at: 2019-12-09T11:24:18+08:00
[INFO] Final Memory: 556M/1259M
[INFO] ------------------------------------------------------------------------

参考

1.DataX源码打包编译采坑记

2.阿里巴巴同步插件Datax编译打包-maven

相关标签: 数据湖 大数据