docs/en/connectors/sink/Aerospike.md
import ChangeLog from '../changelog/connector-aerospike.md';
Aerospike sink connector
Spark
Flink
Seatunnel Zeta
This connector depends on Aerospike Client Library which is licensed under AGPL 3.0.
When using this connector, you need to comply with AGPL 3.0 license terms.
Sink connector for Aerospike database.
| Datasource | Supported Versions | Maven |
|---|---|---|
| Aerospike | 4.4.17+ | Download |
| SeaTunnel Data Type | Aerospike Data Type | Storage Format |
|---|---|---|
| STRING | STRING | Direct string storage |
| INT | INTEGER | 32-bit integer |
| BIGINT | LONG | 64-bit integer |
| DOUBLE | DOUBLE | 64-bit floating point |
| BOOLEAN | BOOLEAN | Stored as true/false values |
| ARRAY | BYTEARRAY | Only support byte array type |
| LIST | LIST | Support generic list types |
| DATE | LONG | Converted to epoch milliseconds |
| TIMESTAMP | LONG | Converted to epoch milliseconds |
Note:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| host | string | Yes | - | Aerospike server hostname or IP address |
| port | int | No | 3000 | Aerospike server port |
| namespace | string | Yes | - | Namespace in Aerospike |
| set | string | Yes | - | Set name in Aerospike |
| username | string | No | - | Username for authentication |
| password | string | No | - | Password for authentication |
| key | string | Yes | - | Field name to use as Aerospike primary key |
| bin_name | string | No | - | Bin name for storing data |
| data_format | string | No | string | Data storage format: map/string/kv |
| write_timeout | int | No | 200 | Write operation timeout in milliseconds |
| schema.field | map | No | {} | Field type mappings (e.g. {"name":"STRING","age":"INTEGER"}) |
env {
parallelism = 2
job.mode = "BATCH"
}
source {
FakeSource {
row.num = 10
schema = {
fields {
id = "int"
name = "string"
age = "int"
address = "string"
}
}
}
}
sink {
Aerospike {
host = "localhost"
port = 3000
namespace = "test_namespace"
set = "user_data"
key = "id"
data_format = "map"
write_timeout = 300
schema.field = {
id = "INTEGER"
name = "STRING"
age = "INTEGER"
address = "STRING"
}
}
}