Включить system.columns для Log Engine - PullRequest
0 голосов
/ 03 февраля 2020

Есть ли способ получить размер таблицы или столбца для таблиц, созданных с помощью Log Engine в Clickhouse? Я знаю, что информацию о размере столбцов MergeTree Engine можно запросить с помощью таблицы system.columns. Но для механизма журнала он возвращает 0 для data_compressed_bytes и data_uncompressed_bytes:

┌─database─┬─table──────────────────────────────────┬─name───────────┬─type─────────────┬─default_kind─┬─default_expression─┬─data_compressed_bytes─┬─data_uncompressed_bytes─┬─marks_bytes─┬─comment─┬─is_in_partition_key─┬─is_in_sorting_key─┬─is_in_primary_key─┬─is_in_sampling_key─┬─compression_codec─┐
│ default  │ table_321895094fb2431cad3cc27ca070ec86 │ Related Change │ Nullable(String) │              │                    │                     0 │                       0 │           0 │         │                   0 │                 0 │                 0 │                  0 │                   │
│ default  │ table_4a02605b096f47a381288279891a6aa9 │ Related Change │ Nullable(String) │              │                    │                     0 │                       0 │           0 │         │                   0 │                 0 │                 0 │                  0 │                   │
│ default  │ table_ef618f6114f646759225ffa6cd4d330b │ Related Change │ Nullable(String) │              │                    │                     0 │                       0 │           0 │         │                   0 │                 0 │                 0 │                  0 │                   │
└──────────┴────────────────────────────────────────┴────────────────┴──────────────────┴──────────────┴────────────────────┴───────────────────────┴─────────────────────────┴─────────────┴─────────┴─────────────────────┴───────────────────┴───────────────────┴────────────────────┴───────────────────┘

Я много искал, но не смог найти конфигурацию для включения этого для механизма журнала. И если это невозможно, что будет грубой оценкой, учитывая количество и типы столбцов? Или не стоит пытаться делать это, поскольку Clickhouse сжимает данные?

1 Ответ

2 голосов
/ 03 февраля 2020

Нужно посмотреть данные таблицы в файловой системе:

  1. выяснить расположение файлов таблицы
SELECT *
FROM system.tables
WHERE name = '{table name}'
FORMAT Vertical

/* Result:
Row 1:
──────
..
data_paths:                 ['/var/lib/clickhouse/data/test/log_engine_001/']
..
*/
список всех файлов в этом каталоге
sudo ls -lsh /var/lib/clickhouse/data/test/log_engine_001

# Result:
# total 88K
# 4.0K -rw-r----- 1 clickhouse clickhouse  64 Feb  3 20:28 __marks.mrk
#  40K -rw-r----- 1 clickhouse clickhouse 40K Feb  3 20:28 id.bin
#  40K -rw-r----- 1 clickhouse clickhouse 40K Feb  3 20:28 name.bin
# 4.0K -rw-r----- 1 clickhouse clickhouse 100 Feb  3 20:28 sizes.json
...