@clickhouse_ru

Страница 512 из 723
Denis
26.04.2018
14:43:04
а если прямо на сервере с clickhouse-client 1.1.54380 , а не 54245?

Maxim
26.04.2018
14:49:09
а если прямо на сервере с clickhouse-client 1.1.54380 , а не 54245?
Да, дело было в старом клиенте. После обновления запрос прошел. Спасибо!

Oleg
26.04.2018
14:50:25
Привет! Такой вопрос: загружал из файликов tsv в кликхаус с помощью bzcat filename | ... INSERT INTO table_name FORMAT TSV. Добавил в таблицу несколько полей, в файлики тоже, но не во все. Есть ли возможность загрузить данные из файлов, где в строке старое количество значений?

Google
Oleg
26.04.2018
14:51:20
Ну и вообще можно инстертить из файла, где меньшее количество значений в строке, чем полей в таблице?

papa
26.04.2018
14:51:45
дефолтные значения, перечислять список колонок

Oleg
26.04.2018
14:52:07
дефолтные значения стоят

хотяяя

да, дефолтные значения точно есть

но при попытке записать падает с ERROR: text "<TAB>0<TAB><TAB>-1<TAB><TAB><LINE FEED>2" is not like Int32

т.е. почему-то в одну строку пытается записать все значения

Tima
26.04.2018
15:01:59
но при попытке записать падает с ERROR: text "<TAB>0<TAB><TAB>-1<TAB><TAB><LINE FEED>2" is not like Int32
Укажите типы колонок в указаных столбцах. Скорее всего тут "<TAB><TAB>" что-то идёт не так

Alexandr
26.04.2018
15:06:01
Спасибо. Where на prewhere меняет оптимизатор сам. Кушает памяти все равно много
Может если нет возможности оптимизировать сам join временных интервалов, то можно как-нибудь ограничить количество потоков при чтении?

Oleg
26.04.2018
15:08:09
Если у тебя не совпадает колво значений надо поменять на что то типа bzcat filename | INSERT INTO table_name(col1,col2,col3) FORMAT TSV
а если в одном файле tsv в разных строках разное количество полей?) (это я добавил, но пока падает)

Denis
26.04.2018
15:19:30
@olin32e Система ждет определенный колво полей,определенного типа. Если у тебя плаваает количество полей то надо делать предобработку строк для выравнивания количества. Либо какую то утилиту для выравнивания написать bzcat filename | converter | INSERT INTO table_name FORMAT TSV или загрузить все в таблицу одним значением и потом выдергивать. Кому что больше нравиться.

Google
Viktor
26.04.2018
16:20:58
На одной из нод начали резко скакать показатели Cached/Active Memory (скрин ниже)с воскресенья, всвязи с чем два вопроса: - сталкивался ли кто-то? - вопрос о памяти: верно ли я понимаю, что Active memory — подмножество Cached memory?



Ivan
26.04.2018
16:21:34
Подскажите пожалйста, есть два запроса. select ... и WHERE ((campaign_id = 672 OR campaign_id = 675 OR campaign_id = 676 OR campaign_id = 1522)) AND event_date >= '2018-04-22' AND event_date <= '2018-04-22' GROUP BY group_field ORDER BY cnt DESC и второй такой-же select WHERE ((campaign_id = 1522)) AND event_date >= '2018-04-22' AND event_date <= '2018-04-22' GROUP BY group_field ORDER BY cnt DESC На серверах шардирование используется. Так вот проблема в том что первые запрос по campaign_id = 1522 - возврашает 300 impression А во втором примере запроса возвращает совсем другой число. Как это понимать ? И как это можно исправить ?

Андрей
26.04.2018
16:23:07
Подскажите, а когда планируется оторвать запись preprocessed конфигов в /etc? @proller говорил, что относительно скоро будет. Но на github не нашёл похожих PR (только парочку старых, связанных с правами на /etc). Я ждал релиза недавнего, но по Changelog такого не вижу.

prll
26.04.2018
16:24:17
я не доделал, прилетели другие задачи.

Андрей
26.04.2018
16:24:47
Понял, подождём ещё релизов. Спасибо.

Viktor
26.04.2018
16:56:24
алсо, хотелось бы спросить, что есть MemoryTracking в system.metrics

Nikolai
26.04.2018
17:10:12
Число байт, запрошенное у MemoryTracker. Т.е. занятый размер памяти (без учета мелких объектов).

Это также не учитывает память, которую аллокатор может держать про запас.

Ivan
26.04.2018
17:48:12
Нужно больше деталей, какая схема таблицы, шардирования
Проблема решается если селект перенести в PREWHERE. Нет идей откуда проблема ?

papa
26.04.2018
17:49:52
селект в prewhere?

Ivan
26.04.2018
17:51:16
простите если перенести часть селекта в prewhere. А конкретно ((campaign_id = 672 OR campaign_id = 675 OR campaign_id = 676 OR campaign_id = 1522))

В таком случаи селект отработает нормально. И хочу сказать данной прблемы я не наблюдал когда у меня все работает без шардирования

Даже конструкция через IN работает не верно

select sum(impression_cnt) as cnt, sum(click_cnt) as clicks, round((sum(click_cnt) / sum(impression_cnt)) * 100,3) as ctr, campaign_id AS group_field from view_statistic_by_days_tz3_4_distributed WHERE group_field IN(672,675,676,1522) AND event_date >= '2017-02-17' AND event_date <= '2017-02-17' GROUP BY group_field ORDER BY cnt DESC

papa
26.04.2018
17:57:11
что в ключе, как шардировано

Ivan
26.04.2018
17:59:50
ENGINE = Distributed(my_cluster, __, view_statistic_by_days_tz3_4, rand())

Nikolai
26.04.2018
18:07:06
IN может неправильно работать, если 54380 > версия >= 54362 и group_field в первичном ключе

Google
Tima
27.04.2018
07:34:58
ENGINE = Distributed(my_cluster, __, view_statistic_by_days_tz3_4, rand())
А что показывает лог КХ? Там пишутся стадии выполнения запроса

?
27.04.2018
07:39:45


а как-то можно ошибки табикса посмотреть? а то пишет так, но хотелось бы немного подробностей

Igor
27.04.2018
07:51:42
Через консоль браузера

Скорее всего, это Ошибка сети - когда CH не вернул CORS headers и js не получил ответ. 1) На вкладке console - текст красный error 2) На вкладке network, посмотреть ответы CH

?
27.04.2018
08:00:33
не, там что-то другое, он INSERT INTO myTable SELECT ... нормально должен отрабатывать? в чем суть ошибки, есть несколько выражений разделенных ;; и там серия INSERT INTO ... а в конце SELECT * FROM так вот, при RUN ALL в табиксе, похоже что после первого INSERT INTO он прекращает выполнения, причем этот инсерт легитимный, в консоле кх те же команды проходят нормально в таком же порядке, да и в самом табиксе при RUN CURRENT ошибок нет



Igor
27.04.2018
08:02:13
Хм, можете сделать Issue с примером запроса попробую сегодня разобраться

?
27.04.2018
08:02:31
табикс поддерживает через ;;

?
27.04.2018
08:06:33
на ui который

может из за ограничения пример https://github.com/tabixio/tabix/issues/50
max results не помогло, вот даже на первом инсерте вставляет, но пишет ошибку https://pastebin.com/raw/0dE40Rmr

открыть issue?

Igor
27.04.2018
08:25:02
Да если не затруднит

Mike
27.04.2018
09:02:06
Коллеги, а кто-нибудь запускал clickhouse-exporter (для отрисовки метрик в графане) ? Не совсем понятно где и как его ставить. Есть хосты с КХ, есть хост с графаной, сейчас в графану со всех хостов метрики пишет collectd. Добавили датасорс прометей, а вот как туда пушить данные из КХ не совсем ясно. Нет ли мануала какого?

?
27.04.2018
09:04:54
они вроде бы не пушатся, а пулаются самим clickhouse_exporter

Google
Mike
27.04.2018
09:06:39
т.е. графану надо научить ходить в экспортер? верно?

?
27.04.2018
09:06:55
в прометеус

CH —> ch_exporter —> prometheus —> grafana

Alexey
27.04.2018
09:07:30
т.е. графану надо научить ходить в экспортер? верно?
прометей должен ходить в экспортер. А графана просто делает запросы в прометей и отрисовывает графики

Mike
27.04.2018
09:08:01
? Спасибо, попробуем, теперь в голове стало яснее

Alexander Nairashvili
27.04.2018
09:09:08
а кто нибудь смог подружить графану с /metrics эндпонинтом chproxy?

Jen
27.04.2018
09:10:43
ребята, я что-то путаю или в доке была страничка с настройкой ОС под КХ? ищу и не могу найти

Jen
27.04.2018
09:20:19
Спасибо!

Andrey
27.04.2018
09:27:06
Ребята, а кто-нибудь сталкивался с проблемой что питонячий драйвер Infinidat/infi.clickhouse_orm при коннекте делает запрос "CREATE DATABASE IF NOT EXISTS" и естественно валится если у юзера RO mode?

liebe
27.04.2018
09:52:22
Привет, а как правильно переписать подобный запрос на с PG на ClickHouse INSERT INTO data.posdata_check_price_fix (check_id, plu, shop_id, cash_id, check_date, check_date_time, check_overall_sum, check_price, check_count, discount, discount_type_id , loyalty_card, created) SELECT p.check_id, p.plu, p.shop_id, p.cash_id, p.check_date, p.check_date_time, p.check_overall_sum, pc.shelf_price, p.check_count, p.discount * (-1), p.discount_type_id, p.loyalty_card, p.created FROM data.posdata p LEFT JOIN data.price_changes pc ON p.check_date < '2018-03-23' AND p.discount > 0 AND p.plu = pc.plu AND p.shop_id = pc.shop_id AND pc.price_set_date = p.check_date

Aleksandr
27.04.2018
10:21:37
Добрый день! Как сделать JOIN двух больших таблиц, которые не помещаются в оперативную память?

Yuran
27.04.2018
10:30:21
Добрый день! Как сделать JOIN двух больших таблиц, которые не помещаются в оперативную память?
Можно джойнить не результат SELECT *, а SELECT от нескольких колонок, например

Оно имеет намного больше шансов поместиться в оперативку

Или использовать функциональность словарей

Или использовать семплирование (заджойнить по остатку от деления или по SAMPLE, если параметры сэмплирования совпадают, но я так не пробовал :))

Andrey
27.04.2018
10:31:32
Aleksandr
27.04.2018
10:32:40
max_bytes_before_external_group_by - во, что-то похожее и искал. Сейчас решал вопрос через where =)

Google
Yuran
27.04.2018
10:37:44
Присутствует возможность использовать внешнюю сортировку (с сохранением временных данных на диск) и внешнюю агрегацию. Merge join в системе нет.

(цитата из документации)

вам не поможет max_bytes_before_external_group_by при выполнении джойна, если таблицы в память не влезают

Alexey
27.04.2018
10:38:27
Кто-нибудь переливал много данных (10T) с одного кластера на другой? Пришли новые железки, старые надо осводить. Что посоветуете? Репл.таблиц примерно 20-30, вьюх навалом. Есть идея начать лить в оба кластера одновременно пару недель, потом переключить все на новый, и заливать старые данные уже по партициям.

Yuran
27.04.2018
10:38:37
Или я неправильно понял вопрос

т.е. создали реплицируемые таблички на новом сервере и оно само пошло литься, подождали часок и всё отреплицировалось

после этого запись можно переключать на новые сервера

Alexey
27.04.2018
10:42:01
Хорошая идея, жаль в новом кластере железок, и соответственно, шардов, больше :)

Но конечно можно подумать над этой темой

Alex
27.04.2018
10:43:10
Хорошая идея, жаль в новом кластере железок, и соответственно, шардов, больше :)
В одной из последних версий утилита же специальная появилась

Alexey
27.04.2018
10:43:32
Я вот и ждал, посоветует ли кто ее)

Страница 512 из 723