Java Apache-2.0

Addax

Actively maintained successor to Alibaba DataX — a fast, versatile, open-source ETL tool for 20+ RDBMS and NoSQL data sources.

W

wgzhao

Dernière activité 29 sept. 2026
wgzhao/Addax

1,4 k

étoiles

342

forks

1

issues ouvertes

clickhousedata-integrationdatabasedataxdatax-forketlexcelhadoophdfshiveimpalainfluxdbkudumysqloraclepostgresqlsqlserversynctrino

Ce README est souvent en anglais.

Addax Logo

Addax

Any source. Any target. Fast.

Addax is an actively maintained successor to Alibaba's DataX, which has been frozen since 2023 — a fast, versatile, open-source ETL (Extract, Transform, Load) tool supporting over 30 RDBMS and NoSQL data sources. It provides a growing ecosystem of plugins and offers easy-to-follow configuration for data integrations.

Release Version Maven Package

简体中文


🚀 Features

  • Supports 30+ SQL and NoSQL data sources, and easily extendable for more.
  • Configurable via simple JSON-based job descriptions.
  • Actively maintained with improved architecture and added functionality compared to DataX.
  • Docker images for quick deployment.

📚 Documentation

Detailed instructions on installation, configuration, and usage are available:


💚 Project Status

Addax is actively maintained. The project is in a mature maintenance phase by design:

  • Monthly maintenance releases. A new release ships roughly every month (see Releases), bundling dependency/CVE updates and bug fixes — even when there are no new features to announce.
  • Responsive issue triage. Open issues are typically answered and resolved within days, not months.
  • Stable by intent. Plugin functionality is deliberately kept stable: we fix bugs and update dependencies rather than chasing feature churn. New data-source plugins are added when there is real community demand — if you need one, open an issue.
  • Open to contribution. PRs are reviewed continuously. See CONTRIBUTING.md for how to contribute.

For maintainers, the release process is documented in RELEASING.md.


📦 Supported Data Sources

Addax supports a wide range of database systems and file sources. Below is a selection of supported platforms:

Cassandra Clickhouse DataBend IMB DB2
dBase Doris Elasticsearch Excel
Greenplum Apache HBase Hive InfluxDB
Kafka Kudu MinIO MongoDB
MySQL Oracle Phoenix PostgreSQL
Presto Redis Amazon S3 SQLite
SQLServer Starrocks Sybase TDengine
Trino Access SAP HANA Paimon
Iceberg DuckDB

See the full list of supported data sources.


🛠️ Getting Started

Addax can be quickly installed and used via Docker, installation scripts, or compiled from source.

1. Use docker image

Pull the prebuilt Docker image and run a test job:

docker pull quay.io/wgzhao/addax:latest
docker run -ti --rm --name addax \
  quay.io/wgzhao/addax:latest \
  /opt/addax/bin/addax.sh /opt/addax/job/job.json

2. Use installation script

Install Addax with a single command:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/wgzhao/Addax/master/install.sh)"

Installation paths: /usr/local (macOS), /opt/addax/ (Linux).

3. Compile and Package from Source

  • Java Compiler: JDK 17

For developers aiming to create custom-builds, compile and package Addax locally:

git clone https://github.com/wgzhao/addax.git addax
cd addax
export MAVEN_OPTS="-DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Dgpg.skip=true"
mvn clean package
mvn package -Pdistribution

The compiled binary will be in target/addax-<version>.

4. Run Your First Task

Load sample job configuration and test the setup:

bin/addax.sh job/job.json

Explore more example jobs


📖 Runtime Requirements

  • Java Runtime: JDK 17
  • Python Version: Python 2.7+ / 3.7+ (Windows only)

  • addax-admin - A web-based management tool for administering Addax data collection tasks
  • addax-docs - Comprehensive documentation for Addax, including user guides and API references

🧩 Developing Addax

For AI assistants: project-specific knowledge and conventions are documented in SKILL.md. Please read it before working on this repo.


Code Style Guidelines

Follow general Java conventions and patterns:

  1. Use IntelliJ IDE with Airlift's Code Style
  2. Categorize exceptions clearly with AddaxException (e.g., AddaxException(REQUIRE_VALUE, "missing required parameter")).
  3. Use the Java 8 Stream API cautiously (avoid in performance-sensitive areas).
  4. Avoid ternary operators for non-trivial expressions.
  5. Include proper Apache License headers in every file.

Refer to our Programming Guidelines for commit message formats.


🗓️ Versioning Scheme

This project adheres to the Semantic Versioning (SemVer) standard with the format x.y.z. The meanings of each segment are as follows:

  • z(Patch Version):

    • Bug fixes and performance improvements that do not affect compatibility with existing features.
    • Example: 1.2.3 → 1.2.4
  • y(Minor Version):

    • Introducing new features or module adjustments that could break backward compatibility.
    • Example: 1.2.3 → 1.3.0
  • x(Major Version):

    • Significant changes or new features that are often incompatible with previous versions.
    • Example: 1.3.0 → 2.0.0

🌟 Star History

Star History Chart

⚖️ License

This software is free to use under the Apache License 2.0.


💌 Special Thanks

Special thanks to JetBrains for providing open-source support to this project.

Projets similaires

DataX是阿里云DataWorks数据集成的开源版本。

Java
Aalibaba
17,4 k étoiles5,7 k

DataCap is integrated software for data transformation, integration, and visualization. Support a variety of data sources, file types, big data related database, relational database, NoSQL database, etc. Through the software can realize the management of multiple data sources, the data under the source of various operations conversion ...

Javaclickhousedatabasedb2
Ddevlive-community
1,1 k étoiles135

Chat2DB is a free, cross-platform, local-first database client and SQL workspace for developers, DBAs, analysts, and data teams. Connect to 40+ databases, manage data, edit and run SQL, and use your own AI model to generate, explain, and optimize queries. Available on desktop, web, Docker, and CLI, with MCP support.

Javaaiclickhousedatabase
OOtterMind
28,3 k étoiles3 k