Skip to main content
ClickHouse is available as a source connector. Arcyria connects over the HTTP transport using the same SQL-first pipeline workflow used by relational sources. Discovered schemas and tables are previewed, staged, transformed with saved SQL models, and delivered to a supported destination.

Required access

Use a dedicated read-only database user. Source privileges should not include CREATE, DROP, ALTER, INSERT, or DELETE.
Grant SELECT only on the schemas and tables the workspace needs. Use a secret manager for the real password. Do not commit it to source control.

Connection fields

For ClickHouse Cloud, copy the host, username, password, and database from the cloud console and select Secure / TLS. The HTTP port defaults to 8443 and the native port defaults to 9440 automatically.

Create the connection

  1. Open Connections.
  2. Click + New Connection.
  3. Set the role to Source.
  4. Choose ClickHouse.
  5. Fill the connection fields.
  6. Click Test Connection.
  7. Save only after the test succeeds.
If the database uses an IP allowlist or private network, follow Private database access before testing.

Discover and preview

After creating a pipeline:
  1. Open the pipeline Source tab.
  2. Click Discover catalog.
  3. Enable each required database.table stream.
  4. Choose its sync mode and cursor when applicable.
  5. Preview representative rows and confirm field types.
  6. Click Save stream settings.
System schemas such as system and INFORMATION_SCHEMA are filtered out of discovery. The default database is treated as a regular user database and is preserved. Selected streams receive stable staging names such as default__events.

Full Table mode

Use Full Table for the first run, small reference tables, or deliberate snapshots. A run reads every selected source row visible to the source user.

Incremental mode

Use Incremental for growing tables with a stable cursor:
  • updated_at for inserts and updates;
  • created_at for append-only tables; or
  • a monotonically increasing identifier.
The cursor should be populated, indexed, and updated whenever a row changes. Use a stable primary key such as id for Upsert delivery.
Arcyria stores checkpoint state only after a successful run. Failed runs do not advance the saved checkpoint.

Type compatibility

ClickHouse sources support common analytical types, including:
  • UInt*, Int*, Float*, Decimal
  • String, FixedString, LowCardinality(...)
  • Date, Date32, DateTime, DateTime64
  • UUID, IPv4, IPv6
  • Enum8, Enum16
  • Nullable(...), Array(...), Map(...), Tuple(...)
Known limits:
  • DateTime64 values with more than microsecond precision are read to microseconds.
  • Integers wider than 128 bits and decimals wider than 38 digits are kept exactly as text.

Table engines

  • Queue tables (Kafka, RabbitMQ, NATS, FileLog, S3Queue, AzureQueue) are never read, because reading them would consume messages. They appear in discovery as not readable. Read the table a materialized view writes to instead.
  • Null tables always read zero rows. Distributed, Merge, Dictionary, and tables that read external storage are readable; their cost and contents follow the cluster or the external system.
  • ReplacingMergeTree and other merge engines can return more than one row per key until ClickHouse merges them. Turn on Read with FINAL in the stream’s incremental settings to read one row per key; reads are slower.
ClickHouse keys are not unique, so a first load runs in one pass and cannot resume after an interruption. With Read with FINAL on and the table’s ORDER BY columns as the stream key, the first load resumes in chunks. Arcyria reads ClickHouse in read-only mode with time and memory limits, and never lowers limits your ClickHouse user profile already sets.

Sample source table

Troubleshooting

  • Connection refused: verify host, HTTP port, network allowlist, and firewall rules.
  • Authentication failed: verify username, password, and database name.
  • TLS connection failure: check the Secure / TLS toggle and the HTTP port. For self-hosted ClickHouse on TLS, make sure the certificate is publicly trusted or supply the CA certificate.
  • No tables discovered: grant SELECT on the schema and tables. System schemas are filtered out by design.
  • Preview fails: check table permissions and unsupported custom types.
  • Incremental rows missing: confirm the cursor changes on updates and is not null. Updates made with ALTER UPDATE and deleted rows are not seen by a cursor unless your writes also change the cursor column.
  • A table cannot be read: it uses a queue or streaming engine; see Table engines.
  • Duplicate destination rows: use a stable primary key and Upsert delivery.
For the validated pipeline route, see ClickHouse source pipelines.