Skip to content

Quick Start ​

Download and Install ​

Download ​

You can download the installation package from the release page, or you can build it yourself from source code.

Installation ​

Unzip the downloaded installation package to the directory where you want to install it:

bash
tar -xzf addax-{version}.tar.gz

Environment Requirements ​

  • Linux or macOS operating system
  • Java 8 or higher version
  • Python 3.6 or higher version (required for some plugins)

First Synchronization Job ​

Let's start with a simple example - synchronizing data from a text file to another text file.

Prepare Test Data ​

Create a test data file:

bash
echo -e "1,zhangsan,20\n2,lisi,21\n3,wangwu,22" > /tmp/test.csv

Create Job Configuration ​

Create a job configuration file job.json:

json
{
  "job": {
    "content": [
      {
        "reader": {
          "name": "txtfilereader",
          "parameter": {
            "path": "/tmp/test.csv",
            "encoding": "UTF-8",
            "column": [
              {
                "index": 0,
                "type": "long"
              },
              {
                "index": 1,
                "type": "string"
              },
              {
                "index": 2,
                "type": "long"
              }
            ],
            "fieldDelimiter": ","
          }
        },
        "writer": {
          "name": "txtfilewriter",
          "parameter": {
            "path": "/tmp/result.csv",
            "fileName": "result",
            "writeMode": "truncate",
            "encoding": "UTF-8",
            "fieldDelimiter": ",",
            "nullFormat": "\\N"
          }
        }
      }
    ],
    "setting": {
      "speed": {
        "channel": 1
      }
    }
  }
}

Execute Job ​

Run the synchronization job:

bash
bin/addax.sh job.json

If successful, you should see output similar to:

bash
2023-12-07 10:30:01.234 [main] INFO  JobContainer - Job ID: 202312071030, Total records: 3, Speed: 3rec/s (30B/s), Error records: 0

And you should find the result file at /tmp/result.csv.

Database Synchronization Example ​

Here's a more practical example - synchronizing data from MySQL to PostgreSQL.

Prerequisites ​

  • MySQL database with test data
  • PostgreSQL database for destination

Job Configuration ​

json
{
  "job": {
    "content": [
      {
        "reader": {
          "name": "mysqlreader",
          "parameter": {
            "username": "mysql_user",
            "password": "mysql_password",
            "column": ["id", "name", "age"],
            "splitPk": "id",
            "connection": [
              {
                "jdbcUrl": "jdbc:mysql://localhost:3306/test",
                "table": ["user_table"]
              }
            ]
          }
        },
        "writer": {
          "name": "postgresqlwriter",
          "parameter": {
            "username": "postgres_user",
            "password": "postgres_password",
            "column": ["id", "name", "age"],
            "connection": [
              {
                "jdbcUrl": "jdbc:postgresql://localhost:5432/test",
                "table": ["user_table"]
              }
            ]
          }
        }
      }
    ],
    "setting": {
      "speed": {
        "channel": 3
      }
    }
  }
}
```

### Execute Job

```bash
bin/addax.sh mysql_to_postgresql.json

Next Steps ​