47 lines
1.9 KiB
SQL
47 lines
1.9 KiB
SQL
CREATE TABLE IF NOT EXISTS events_imports_replicated ON CLUSTER '{cluster}' (
|
|
`id` UUID DEFAULT generateUUIDv4(),
|
|
`name` LowCardinality(String),
|
|
`sdk_name` LowCardinality(String),
|
|
`sdk_version` LowCardinality(String),
|
|
`device_id` String CODEC(ZSTD(3)),
|
|
`profile_id` String CODEC(ZSTD(3)),
|
|
`project_id` String CODEC(ZSTD(3)),
|
|
`session_id` String CODEC(LZ4),
|
|
`path` String CODEC(ZSTD(3)),
|
|
`origin` String CODEC(ZSTD(3)),
|
|
`referrer` String CODEC(ZSTD(3)),
|
|
`referrer_name` String CODEC(ZSTD(3)),
|
|
`referrer_type` LowCardinality(String),
|
|
`duration` UInt64 CODEC(Delta(4), LZ4),
|
|
`properties` Map(String, String) CODEC(ZSTD(3)),
|
|
`created_at` DateTime64(3) CODEC(DoubleDelta, ZSTD(3)),
|
|
`country` LowCardinality(FixedString(2)),
|
|
`city` String,
|
|
`region` LowCardinality(String),
|
|
`longitude` Nullable(Float32) CODEC(Gorilla, LZ4),
|
|
`latitude` Nullable(Float32) CODEC(Gorilla, LZ4),
|
|
`os` LowCardinality(String),
|
|
`os_version` LowCardinality(String),
|
|
`browser` LowCardinality(String),
|
|
`browser_version` LowCardinality(String),
|
|
`device` LowCardinality(String),
|
|
`brand` LowCardinality(String),
|
|
`model` LowCardinality(String),
|
|
`imported_at` Nullable(DateTime) CODEC(Delta(4), LZ4),
|
|
`import_id` String CODEC(ZSTD(3)),
|
|
`import_status` LowCardinality(String) DEFAULT 'pending',
|
|
`imported_at_meta` DateTime DEFAULT now()
|
|
)
|
|
ENGINE = ReplicatedMergeTree('/clickhouse/{installation}/{cluster}/tables/{shard}/openpanel/v1/{table}', '{replica}')
|
|
PARTITION BY toYYYYMM(imported_at_meta)
|
|
ORDER BY (import_id, created_at)
|
|
SETTINGS index_granularity = 8192;
|
|
|
|
---
|
|
|
|
CREATE TABLE IF NOT EXISTS events_imports ON CLUSTER '{cluster}' AS events_imports_replicated
|
|
ENGINE = Distributed('{cluster}', currentDatabase(), events_imports_replicated, cityHash64(import_id));
|
|
|
|
---
|
|
|
|
ALTER TABLE events_imports_replicated ON CLUSTER '{cluster}' MODIFY TTL imported_at_meta + INTERVAL 7 DAY; |