ClickHouse
Core pluginmarmotdata/clickhouse
Discover databases, tables, and views from ClickHouse instances
The ClickHouse plugin discovers databases, tables, and views from ClickHouse instances. It extracts schema information, column details, and table metrics like row counts and storage sizes.
Connection Examples
Required Permissions
The user needs read access to system tables:
GRANT SELECT ON system.databases TO marmot_user;
GRANT SELECT ON system.tables TO marmot_user;
GRANT SELECT ON system.columns TO marmot_user;
For read-only discovery of all databases:
GRANT SHOW DATABASES ON *.* TO marmot_user;
GRANT SHOW TABLES ON *.* TO marmot_user;
GRANT SHOW COLUMNS ON *.* TO marmot_user;
In the UI
Point-and-click, no config file needed.
- 1 Open
Runs→Create Pipeline - 2 Pick ClickHouse from the plugin list.
- 3 Fill in the wizard, set a schedule, save.
With the CLI
Save a YAML config, then run marmot ingest.
name: my-clickhouse-pipeline
runs:
- clickhouse:
host: "<host>"
user: "<user>"marmot ingest -c ingest.yaml Not using plugins? Other ways to populate Marmot
Configuration
13 top-level fields.
tags multiselect Tags to apply to discovered assets
external_links object[] External links to show on all assets
name string Display name for the link
icon string Icon identifier for the link
url string URL to the external resource
filter object Filter discovered assets by name (regex)
include multiselect Include patterns for resource names (regex)
exclude multiselect Exclude patterns for resource names (regex)
host string ClickHouse server hostname or IP address
port int ClickHouse native protocol port
9000 user string Username for authentication
password password Password for authentication
database string Default database to connect to
default secure bool Use TLS/SSL connection
false include_databases bool Whether to discover databases
true include_columns bool Whether to include column information in table metadata
true enable_metrics bool Whether to include table metrics (row counts, sizes)
true exclude_system_tables bool Whether to exclude system tables
true Assets Emitted
Metadata fields this plugin attaches to each discovered asset.
Click House Database
ClickHouseDatabaseFieldsClickHouseDatabaseFields represents ClickHouse database-specific metadata fields.
database stringDatabase name
engine stringDatabase engine type
comment stringDatabase comment/description
Click House Table
ClickHouseTableFieldsClickHouseTableFields represents ClickHouse table-specific metadata fields.
database stringParent database name
table_name stringTable name
engine stringTable engine (MergeTree, ReplacingMergeTree, etc.)
row_count intEstimated row count
size_bytes intTable size in bytes
comment stringTable comment/description
Click House Column
ClickHouseColumnFieldsClickHouseColumnFields represents ClickHouse column-specific metadata fields.
column_name stringColumn name
data_type stringColumn data type
is_primary_key boolWhether column is part of primary key
is_sorting_key boolWhether column is part of sorting key
default_kind stringDefault value kind (DEFAULT, MATERIALIZED, ALIAS)
default_expression stringDefault value expression
comment stringColumn comment/description