Size: a a a

ClickHouse не тормозит

2019 December 18

DC

Denny Crane (I don't... in ClickHouse не тормозит
Алексей Волков
Добрый день, хотелось бы прояснить момент: у нас есть таблица, в ней 3.6 млн записей, на ее основе строим словарь. Выборка из system.dictionaries показывает что в словаре более 54 млн записей и отжирает он 6.5 Гб оперативки хотя сама таблица весит менее 300 Мб. Реально все это загружается в оперативку, и столько занимает места?
источник

O

Olesia in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
В csv есть строка с именами колонок?
Да, гружу как CSVWithNames
источник

SS

Sergey Safonov in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Таймзона это атрибут типа. Она не хранится в данных, там все в utc. Это просто намек как эту колонку рендерить в строку. Т.е. меняется только файл .sql.
Всё правильно, только тем не менее все исторические атрибуты с датой-временем после изменения таймзоны стали меньше на 2 часа. Всё еще осложнилось тем, что выставление таймзоны (UTC) в конфиге на работало (проблема версии 19.13), а таймзона изменена на сервере
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Olesia
Да, гружу как CSVWithNames
input_format_skip_unknown_fields -- "Skip columns with unknown names from input data (it works for JSONEachRow, CSVWithNames, TSVWithNames and TSKV formats).")

input_format_with_names_use_header -- "For TSVWithNames and CSVWithNames input formats this controls whether format parser is to assume that column data appear in the input exactly as they are specified in the header.
источник

O

Olesia in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
input_format_skip_unknown_fields -- "Skip columns with unknown names from input data (it works for JSONEachRow, CSVWithNames, TSVWithNames and TSKV formats).")

input_format_with_names_use_header -- "For TSVWithNames and CSVWithNames input formats this controls whether format parser is to assume that column data appear in the input exactly as they are specified in the header.
Спасибо!
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Sergey Safonov
Всё правильно, только тем не менее все исторические атрибуты с датой-временем после изменения таймзоны стали меньше на 2 часа. Всё еще осложнилось тем, что выставление таймзоны (UTC) в конфиге на работало (проблема версии 19.13), а таймзона изменена на сервере
Я подумал вы пр alter спрашиваете и ответил про alter.
источник

SS

Sergey Safonov in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Я подумал вы пр alter спрашиваете и ответил про alter.
Нет,  данные никто не трогал, даты "сами" изменились. Что было весьма неожиданно для меня
источник

S

Slach in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
А через xml разве можно словарь в базе создать?
Без database работает?
ну я уже понял что нет что надо отдельно CREATE TABLE
плюс я не правильно выбрал memory layout
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Sergey Safonov
Нет,  данные никто не трогал, даты "сами" изменились. Что было весьма неожиданно для меня
сложный момент у КХ все хранится в UTC, когда КХ парсит строки и рендерит строки на сервере, он конвертит из/в TZ сервера, она настраивается в трех местах, в линуксе, в конфиге КХ, в переменной TZ.

сюда добавляет мозголомности что клиенты тоже конвертят на клиентской стороне (например JDBC) из таймозоны сервера в таймзону клиента
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
divinus
не советую так делать. мы не так давно столкнулись с проблемой. наш сервер взломали и удалили часть информации как-то подключившись удаленно используя закрытого для удаленнолго подключения пользователя default. возможно этот баг пофиксили но всетк намного правильнее пароль ставить на такие вещи
была проблема CIDR  mask opens access to any host, т.е. если ip были прописаны ..../24 или ..../32 это открывало доступ с любого ip
источник

Z

Zmicier in ClickHouse не тормозит
Alexander
Привет, вопрос как бы сделать что-то типа
SELECT timesstamp, id, start_val, end_val, (SELECT COUNT() FROM t2 where val BETWEEN start_val AND end_val) FROM t1 ?
WITH (SELECT COUNT() FROM t2 where val BETWEEN start_val AND end_val) as cnt SELECT timesstamp, id, start_val, end_val, cnt FROM t1 попробуйте
источник

A

Alexander in ClickHouse не тормозит
Zmicier
WITH (SELECT COUNT() FROM t2 where val BETWEEN start_val AND end_val) as cnt SELECT timesstamp, id, start_val, end_val, cnt FROM t1 попробуйте
спасибо, сейчас попробую
источник

NK

ID:1010866170 in ClickHouse не тормозит
источник

A

Alexander in ClickHouse не тормозит
Zmicier
WITH (SELECT COUNT() FROM t2 where val BETWEEN start_val AND end_val) as cnt SELECT timesstamp, id, start_val, end_val, cnt FROM t1 попробуйте
но в t2 нету val, хотя всё равно сейчас попробую
источник

A

Alexander in ClickHouse не тормозит
Alexander
но в t2 нету val, хотя всё равно сейчас попробую
точнее наоборот - нету start и end
источник

A

Alexander in ClickHouse не тормозит
Zmicier
WITH (SELECT COUNT() FROM t2 where val BETWEEN start_val AND end_val) as cnt SELECT timesstamp, id, start_val, end_val, cnt FROM t1 попробуйте
Missing columns: 'start_val' 'end_val'
источник

Z

Zmicier in ClickHouse не тормозит
Alexander
точнее наоборот - нету start и end
тогда только join
источник

A

Alexander in ClickHouse не тормозит
Zmicier
тогда только join
но join нельзя по between
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Zmicier
тогда только join
это будет cross join
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
словарь берите range , только так
источник