Databases

Import and export data into/from database systems.

Integrations

AWS DMS
ClickHouse
Couchbase
DuckDB
DynamoDB
Exasol
IBM Db2
InfluxDB
MySQL
MongoDB
Microsoft SQL Server
MySQL
Oracle
PostgreSQL
Spanner
SQLite

Examples

Amazon Athena

Load data from Amazon Athena into CrateDB.

ctk load \
    "athena://?bucket=<your-destination-bucket>&access_key_id=<your-aws-access-key-id>&secret_access_key=<your-aws-secret-access-key>&region_name=<your-aws-region>&table=demo" \
    "crate://crate:na@localhost:4200/testdrive/athena"

Couchbase

Load data from Couchbase into CrateDB.

ctk load \
    "couchbase://username:password@host/bucket?ssl=true&table=demo" \
    "crate://crate:na@localhost:4200/testdrive/couchbase"

ClickHouse

Load data from ClickHouse into CrateDB.

ctk load \
    "clickhouse://<username>:<password>@<host>:<port>?secure=<secure>&table=demo" \
    "crate://crate:na@localhost:4200/testdrive/clickhouse"

CrateDB

Load data from CrateDB into CrateDB.

ctk load \
    "crate://crate:na@localhost:4200/?table=sys.summits" \
    "crate://crate:na@localhost:4200/testdrive/cratedb_summits"
ctk load \
    "crate://crate:na@localhost:4200/?table=information_schema.tables" \
    "crate://crate:na@localhost:4200/testdrive/cratedb_tables"
ctk load \
    "crate://crate:na@localhost:4200/?table=query:SELECT * FROM sys.summits WHERE height > 4000" \
    "crate://crate:na@localhost:4200/testdrive/cratedb_summits"

DuckDB

Load data from DuckDB into CrateDB.

ctk load \
    "duckdb:////path/to/demo.duckdb?table=information_schema.tables" \
    "crate://crate:na@localhost:4200/testdrive/duckdb_tables"

Exasol

Load data from EXASOL DB into CrateDB.

ctk load \
    "exa+websocket://sys:exasol@127.0.0.1:8888?table=demo" \
    "crate://crate:na@localhost:4200/testdrive/exasol"

IBM Db2

Load data from IBM Db2 into CrateDB.

ctk load \
    "db2://<username>:<password>@<host>:<port>/<database-name>?table=demo" \
    "crate://crate:na@localhost:4200/testdrive/ibmdb2"

Microsoft SQL Server

Load data from Microsoft SQL Server into CrateDB.

alias ctk-ingest='docker run --rm -it --network=host ghcr.io/crate/cratedb-toolkit-ingest:latest ctk'
USER=$(az account show --query user.name -o tsv)
TOKEN=$(az account get-access-token --resource https://database.windows.net/ --query accessToken -o tsv)
ctk-ingest load \
    "mssql://$USER:$TOKEN@<server>.database.windows.net/<database>?table=demo&Authentication=ActiveDirectoryAccessToken" \
    "crate://crate:na@localhost:4200/testdrive/mssql"

MySQL

Load data from MySQL or MariaDB into CrateDB.

ctk load \
    "mysql://<username>:<password>@host:port/dbname?table=demo" \
    "crate://crate:na@localhost:4200/testdrive/mysql"

Oracle

Load data from Oracle into CrateDB.

ctk load \
    "oracle+cx_oracle://<username>:<password>@<hostname>:<port>/dbname?table=demo" \
    "crate://crate:na@localhost:4200/testdrive/oracle"

PostgreSQL

Load data from PostgreSQL into CrateDB.

ctk load \
    "postgresql://<username>:<password>@postgresql.example.org:5432/postgres?table=information_schema.tables" \
    "crate://crate:na@localhost:4200/testdrive/postgresql_tables"

Spanner

Load data from Spanner into CrateDB.

ctk load \
    "spanner://?project_id=<project_id>&instance_id=<instance_id>&database=<database>&credentials_path=</path/to/service/account.json>&table=demo" \
    "crate://crate:na@localhost:4200/testdrive/spanner"
ctk load \
    "spanner://?project_id=<project_id>&instance_id=<instance_id>&database=<database>&credentials_base64=<base64_encoded_credentials>&table=demo" \
    "crate://crate:na@localhost:4200/testdrive/spanner"

SQLite

Load data from SQLite into CrateDB.

ctk load \
    "sqlite:////path/to/demo.sqlite?table=demo" \
    "crate://crate:na@localhost:4200/testdrive/sqlite"