Size: a a a

ClickHouse не тормозит

2021 February 19

DT

Dmitry Titov in ClickHouse не тормозит
groupArray(device) -> sumMap([device], [1])
источник

DT

Dmitry Titov in ClickHouse не тормозит
какой тип у колонки device?
источник

Otabek Μansurov in ClickHouse не тормозит
Dmitry Titov
Address already in use: 0.0.0.0:8123
У вас какая сеть используется?


докер не умеет в ipv6, кх по дефолту пытается слушать на ipv6
но должна быть такая настройка уже включена <listen_try>1</listen_try>
У меня такая конфигурация для кх в докере

<?xml version="1.0"?>
<yandex>
   <logger>
       <level>debug</level>
       <log>/var/log/clickhouse-server/clickhouse-server.log</log>
       <errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>
       <size>1000M</size>
       <count>10</count>
   </logger>
   <http_port>8123</http_port>
   <listen_host>::</listen_host>
   <listen_host>0.0.0.0</listen_host>
   <listen_try>1</listen_try>
   <max_connections>4096</max_connections>
   <keep_alive_timeout>3</keep_alive_timeout>
   <max_concurrent_queries>100</max_concurrent_queries>
   <uncompressed_cache_size>8589934592</uncompressed_cache_size>
   <mark_cache_size>5368709120</mark_cache_size>
   <path>/var/lib/clickhouse/</path>
   <tmp_path>/var/lib/clickhouse/tmp/</tmp_path>
   <users_config>users.xml</users_config>
   <default_profile>default</default_profile>
   <default_database>default</default_database>
   <remote_servers>
   </remote_servers>
   <builtin_dictionaries_reload_interval>3600</builtin_dictionaries_reload_interval>
   <query_log>
       <database>system</database>
       <table>query_log</table>
       <flush_interval_milliseconds>7500</flush_interval_milliseconds>
   </query_log>
   <dictionaries_config>*_dictionary.xml</dictionaries_config>
   <resharding>
       <task_queue_path>/clickhouse/task_queue</task_queue_path>
   </resharding>
</yandex>


Сам докер композе выглядеть таким образом:

version: '3'
services:
 clickhouse:
   container_name: clickhouse1
   image: yandex/clickhouse-server
   ports:
     - "8123:8123"
   volumes:
     - ./clickhouse/data:/var/lib/clickhouse:rw
     - ./clickhouse/logs:/var/log/clickhouse-server
     - ./clickhouse/init_schema.sql:/docker-entrypoint-initdb.d/init_schema.sql
     - ./clickhouse/config.xml:/etc/clickhouse-server/config.xml
   networks:
     - App
networks:
 App:
   driver: bridge


У меня ошибка в конфигурации кх?
источник

DN

Demetra Nadya in ClickHouse не тормозит
Отлично получилось
источник

DN

Demetra Nadya in ClickHouse не тормозит
источник

DT

Dmitry Titov in ClickHouse не тормозит
Otabek Μansurov
У меня такая конфигурация для кх в докере

<?xml version="1.0"?>
<yandex>
   <logger>
       <level>debug</level>
       <log>/var/log/clickhouse-server/clickhouse-server.log</log>
       <errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>
       <size>1000M</size>
       <count>10</count>
   </logger>
   <http_port>8123</http_port>
   <listen_host>::</listen_host>
   <listen_host>0.0.0.0</listen_host>
   <listen_try>1</listen_try>
   <max_connections>4096</max_connections>
   <keep_alive_timeout>3</keep_alive_timeout>
   <max_concurrent_queries>100</max_concurrent_queries>
   <uncompressed_cache_size>8589934592</uncompressed_cache_size>
   <mark_cache_size>5368709120</mark_cache_size>
   <path>/var/lib/clickhouse/</path>
   <tmp_path>/var/lib/clickhouse/tmp/</tmp_path>
   <users_config>users.xml</users_config>
   <default_profile>default</default_profile>
   <default_database>default</default_database>
   <remote_servers>
   </remote_servers>
   <builtin_dictionaries_reload_interval>3600</builtin_dictionaries_reload_interval>
   <query_log>
       <database>system</database>
       <table>query_log</table>
       <flush_interval_milliseconds>7500</flush_interval_milliseconds>
   </query_log>
   <dictionaries_config>*_dictionary.xml</dictionaries_config>
   <resharding>
       <task_queue_path>/clickhouse/task_queue</task_queue_path>
   </resharding>
</yandex>


Сам докер композе выглядеть таким образом:

version: '3'
services:
 clickhouse:
   container_name: clickhouse1
   image: yandex/clickhouse-server
   ports:
     - "8123:8123"
   volumes:
     - ./clickhouse/data:/var/lib/clickhouse:rw
     - ./clickhouse/logs:/var/log/clickhouse-server
     - ./clickhouse/init_schema.sql:/docker-entrypoint-initdb.d/init_schema.sql
     - ./clickhouse/config.xml:/etc/clickhouse-server/config.xml
   networks:
     - App
networks:
 App:
   driver: bridge


У меня ошибка в конфигурации кх?
Кто то конфликтует, и 8123 порт уже забинжен такое ощущение
источник

DT

Dmitry Titov in ClickHouse не тормозит
Demetra Nadya
Отлично получилось
В целом countResample(1,3,1)() потенциально должен быть быстрее, но для него нужно превратить key в набор интов, это можно сделать через transform(device, ['работающее нас', 'дети', 'старики'],[1,2,3],0) либо закастить его в Enum (это по факту инт)
источник

Otabek Μansurov in ClickHouse не тормозит
Dmitry Titov
Кто то конфликтует, и 8123 порт уже забинжен такое ощущение
Попробовал изменить порт по умолчания на 8124 но ошибка тоже самое
источник

ТИ

Татьяна Исекеева... in ClickHouse не тормозит
привет)
подскажите, пожалуйста, способ посчитать разницу в датах с учетом миллисекунд
источник

AS

Alexey Sokolov in ClickHouse не тормозит
Татьяна Исекеева
привет)
подскажите, пожалуйста, способ посчитать разницу в датах с учетом миллисекунд
А у вас тип данных для даты какой?
источник

ТИ

Татьяна Исекеева... in ClickHouse не тормозит
DateTime64
источник

ТИ

Татьяна Исекеева... in ClickHouse не тормозит
dateDiff работает только с Date и DateTime. Инты тоже миллисекунды не учитывают
источник

DT

Dmitry Titov in ClickHouse не тормозит
Татьяна Исекеева
dateDiff работает только с Date и DateTime. Инты тоже миллисекунды не учитывают
SELECT
   toDecimal64(now64(), 3),
   now64()

Query id: 1b2cd2b4-6731-4ae0-965c-8067c9b12cd2

┌─toDecimal64(now64(), 3)─┬─────────────────now64()─┐
│          1613720802.033 │ 2021-02-19 10:46:42.033 │
└─────────────────────────┴─────────────────────────┘
источник

ТИ

Татьяна Исекеева... in ClickHouse не тормозит
Dmitry Titov
SELECT
   toDecimal64(now64(), 3),
   now64()

Query id: 1b2cd2b4-6731-4ae0-965c-8067c9b12cd2

┌─toDecimal64(now64(), 3)─┬─────────────────now64()─┐
│          1613720802.033 │ 2021-02-19 10:46:42.033 │
└─────────────────────────┴─────────────────────────┘
точно. спасибо большое)
источник

АЗ

Александр Загребельн... in ClickHouse не тормозит
Добрый день
 
 Мы используем при группировках больших объемов данных настройку max_bytes_before_external_group_by,
 которую передаем в параметрах HTTP-запроса. Это успешно решает проблему с ограничением оперативной памяти.  
 
 Но некотрые используемые продукты не предоставляют возможность передачи параметров настройки на время исполнения запроса
 (Tabix, ODBC-драйвер). Такую настройку попробовал задать в config.xml, сервер КХ успешно стартует,
 но сбрасывает соединение. Есть ли возможность установить постоянную настройку:
 <max_bytes_before_external_group_by>10000000000</max_bytes_before_external_group_by>
 ?
источник

DT

Dmitry Titov in ClickHouse не тормозит
Александр Загребельный
Добрый день
 
 Мы используем при группировках больших объемов данных настройку max_bytes_before_external_group_by,
 которую передаем в параметрах HTTP-запроса. Это успешно решает проблему с ограничением оперативной памяти.  
 
 Но некотрые используемые продукты не предоставляют возможность передачи параметров настройки на время исполнения запроса
 (Tabix, ODBC-драйвер). Такую настройку попробовал задать в config.xml, сервер КХ успешно стартует,
 но сбрасывает соединение. Есть ли возможность установить постоянную настройку:
 <max_bytes_before_external_group_by>10000000000</max_bytes_before_external_group_by>
 ?
Ее можно указать в profile секции юзера
источник

АЗ

Александр Загребельн... in ClickHouse не тормозит
Dmitry Titov
Ее можно указать в profile секции юзера
Дмитрий, спасибо за ответ. Пользователи у нас SQL-запросами администрируются. Попробую сделать тоже самое через SQL
источник

MD

Mikhail Dengin in ClickHouse не тормозит
Всем привет!
Подскажите, пожалуйста, механизм возникновения ошибки:
Too many parts (N). Merges are processing significantly slower than inserts.
источник

DT

Dmitry Titov in ClickHouse не тормозит
Александр Загребельный
Дмитрий, спасибо за ответ. Пользователи у нас SQL-запросами администрируются. Попробую сделать тоже самое через SQL
А, ну там +- тоже самое
источник

M

Mishanya in ClickHouse не тормозит
Mikhail Dengin
Всем привет!
Подскажите, пожалуйста, механизм возникновения ошибки:
Too many parts (N). Merges are processing significantly slower than inserts.
слишком частые инсеры и парты мержатся медленнее чем появляются новые. Вставляейте батчами
источник