2025-04-09 17:33:12 +05:30

5.6 KiB

title slug
Clickhouse /connectors/database/clickhouse

{% connectorDetailsHeader name="Clickhouse" stage="PROD" platform="OpenMetadata" availableFeatures=["Metadata", "Query Usage", "Lineage", "Column-level Lineage", "Data Profiler", "Data Quality", "dbt", "Sample Data", "Reverse Metadata Ingestion"] unavailableFeatures=["Owners", "Tags", "Stored Procedures"] / %}

In this section, we provide guides and references to use the Clickhouse connector.

Configure and schedule Clickhouse metadata and profiler workflows from the OpenMetadata UI:

{% partial file="/v1.7/connectors/ingestion-modes-tiles.md" variables={yamlPath: "/connectors/database/clickhouse/yaml"} /%}

Requirements

Clickhouse user must grant SELECT privilege on system.* and schema/tables to fetch the metadata of tables and views.

CREATE USER <username> IDENTIFIED WITH sha256_password BY <password>
-- Grant SELECT and SHOW to that user
-- More details on permissions can be found here at https://clickhouse.com/docs/en/sql-reference/statements/grant
GRANT SELECT, SHOW ON system.* to <username>;
GRANT SELECT ON <schema_name>.* to <username>;

Profiler & Data Quality

Executing the profiler workflow or data quality tests, will require the user to have SELECT permission on the tables/schemas where the profiler/tests will be executed. More information on the profiler workflow setup can be found here and data quality tests here.

Usage & Lineage

For the usage and lineage workflow, the user will need SELECT privilege. You can find more information on the usage workflow here and the lineage workflow here.

Metadata Ingestion

{% partial file="/v1.7/connectors/metadata-ingestion-ui.md" variables={ connector: "Clickhouse", selectServicePath: "/images/v1.7/connectors/clickhouse/select-service.png", addNewServicePath: "/images/v1.7/connectors/clickhouse/add-new-service.png", serviceConnectionPath: "/images/v1.7/connectors/clickhouse/service-connection.png", } /%}

{% stepsContainer %} {% extraContent parentTagName="stepsContainer" %}

Connection Options

  • Username: Specify the User to connect to Clickhouse. It should have enough privileges to read all the metadata.
  • Password: Password to connect to Clickhouse.
  • Host and Port: Enter the fully qualified hostname and port number for your Clickhouse deployment in the Host and Port field.
  • Use HTTPS Protocol: Enable this flag when the when the Clickhouse instance is hosted via HTTPS protocol. This flag is useful when you are using clickhouse+http connection scheme.
  • Secure Connection: Establish secure connection with ClickHouse. ClickHouse supports secure communication over SSL/TLS to protect data in transit, by checking this option, it establishes secure connection with ClickHouse. This flag is useful when you are using clickhouse+native connection scheme.
  • Key File: The key file path is the location when ClickHouse looks for a file containing the private key needed for secure communication over SSL/TLS. By default, ClickHouse will look for the key file in the /etc/clickhouse-server directory, with the file name server.key. However, this can be customized in the ClickHouse configuration file (config.xml). This flag is useful when you are using clickhouse+native connection scheme and the secure connection flag is enabled.

{% partial file="/v1.7/connectors/database/advanced-configuration.md" /%}

{% /extraContent %}

{% partial file="/v1.7/connectors/test-connection.md" /%}

{% partial file="/v1.7/connectors/database/configure-ingestion.md" /%}

{% partial file="/v1.7/connectors/ingestion-schedule-and-deploy.md" /%}

{% /stepsContainer %}

{% partial file="/v1.7/connectors/database/related.md" /%}

Reverse Metadata

{% note %} This feature is specific to Collate and requires the Collate Enterprise License. {% /note %}

Description Management

Clickhouse supports description updates at the following levels:

  • Table level
  • Column level

Owner Management

Owner management is not supported for Clickhouse.

Tag Management

Tag management is not supported for Clickhouse.

Custom SQL Template

Clickhouse supports custom SQL templates for metadata changes. The template is interpreted using python f-strings.

Here are examples of custom SQL queries for metadata changes:

-- Update column description
ALTER TABLE `{schema}`.{table} MODIFY COLUMN {column} COMMENT {description};

The list of variables for custom SQL can be found here.

For more details about reverse metadata ingestion, visit our Reverse Metadata Documentation.