@clickhouse_ru

Страница 498 из 723
Alex
16.04.2018
10:57:42
Добрый день, Пишем в лог таблицу пустое значение в поле (string), которое затем перетекает в другую таблицу в виде Nullable(UInt8). При Insert Select идет проверка исходного поля. SELECT a FROM test ┌─a─┐ │ │ └───┘ Insert into test1 (b) select a=''?NULL:a from test; Attempt to read after eof: Cannot parse UInt8 from String, because value is too short. А вот когда делаем: Insert into test1 (b) select a!=NULL?a:NULL from test; работает. SELECT b FROM test1 ┌──b─┐ │ \N │ └────┘ Подскажите, в чем тут дело? Спасибо

papa
16.04.2018
11:00:22
дело в том, что вы пытаетесь вставить строку в числовую колонку

а clickhouse по сравнению с обычным sql несколько более строго типизирован.

когда вы явным образом что-то преобразуете, то есть немного больше уверенности в том, что получится то что вы ожидаете, а не "что-то". также например интересно, вот у вас a!=null ? a : null выдал null. на пустой строке, видимо. он ведь у вас вообще на любой строке это выдает? потому что с null не так надо сравнивать.

Google
Alex
16.04.2018
11:12:39
Спасибо, просто смутило то, что при a=''?NULL:a ClickHouse не обнаружил пустое значение в поле, хотя оно там есть (по крайней мере визуально, вместо \N).

papa
16.04.2018
11:17:45
действительно. скорее всего это объясняется еще одной особенностью поведения clickhouse, он вычисляет обе ветки if

Alex
16.04.2018
11:29:17
Спасибо, будем знать

Andrey
16.04.2018
11:32:38
Evgeny
16.04.2018
11:41:33
Артемий
16.04.2018
11:51:27
sad

Ivan
16.04.2018
11:55:41
есть вот такой набор сравнений http://tech.marksblogg.com/benchmarks.html
насколько показательно сравнение из этой статьи?

Evgeny
16.04.2018
11:57:26
насколько показательно сравнение из этой статьи?
ну он там подробно методологию и шаги описывает по каждому тесту чтоб было понятно

Ivan
16.04.2018
11:57:59
просто в одном месте кластер, в другом видеокарта, а потом обычный проц

antuan
16.04.2018
11:58:08
MergeTree(pickup_date, pickup_datetime, 8192) SELECT cab_type, count(*) FROM trips_mergetree GROUP BY cab_type SELECT passenger_count, avg(total_amount) FROM trips_mergetree GROUP BY passenger_count SELECT passenger_count, toYear(pickup_date) AS year, count(*) FROM trips_mergetree GROUP BY passenger_count, year SELECT passenger_count, toYear(pickup_date) AS year, round(trip_distance) AS distance, count(*) FROM trips_mergetree GROUP BY passenger_count, year, distance ORDER BY year, count(*) DESC

Evgeny
16.04.2018
11:58:14
как сравнить bigQuery и запрос на Intel Core i5 4670K конечно, не очень понятно

antuan
16.04.2018
11:58:38
структура таблицы малость не подходит под запросы

Alexey
16.04.2018
12:42:28
ClickHouse C++ Meetup https://events.yandex.ru/events/meetings/16-May-2018/

Google
Alexey
16.04.2018
12:43:37
Опубликовано видео с мероприятия "Субботник по базам данных": https://events.yandex.ru/events/yasubbotnik/31-march-2018/

Aleksandr
16.04.2018
12:43:54
спасибо за видео ?

r
16.04.2018
13:00:39
ClickHouse C++ Meetup https://events.yandex.ru/events/meetings/16-May-2018/
Руководитель группы Алексей Миловидной  ошибка?

Alexandr
16.04.2018
13:03:20
Какой сейчас статус по update/delete?

umatomba
16.04.2018
13:03:57
Ребят подскажите пожалуйста, как добиться от семплирования равномерного распределения результата? Возможно ли это? Какой у SAMPLE алгоритм?

papa
16.04.2018
13:05:01
алгоритм у sample такой. условие sample 0.x равносилен условию sample_expr < 0.x*max_value(typeof(expr))

umatomba
16.04.2018
13:07:26
результата который возвращает select с семплированием, но понимаю он не о том

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

papa
16.04.2018
13:10:08
и как вы хотите сделать это с помощью семплирования?

umatomba
16.04.2018
13:10:58
уже получается никак

papa
16.04.2018
13:11:47
select from table sample 1sec действительно не работает. а какие вам нужны значения, может просто погруппировать по секунде?

umatomba
16.04.2018
13:16:24
значения нужны разные в зависимости от запроса. сбор например идет каждую сукунду но нужно иметь возможность получить значения с разными интервалами (5s, 10s, 30s, 60s, 1800s ... -> строить графики). подумал может это както на стороне базы можно решить не созраняя в отдельных таблицах

papa
16.04.2018
13:28:44
а как вы это делаете в любой другой базе?

umatomba
16.04.2018
13:29:23
group by time

но что-то тут в доке не могу найти как это сделать

papa
16.04.2018
13:32:45
для некоторых гранулярностей есть toStartOf фунции, для остальных можно поделить на нужный шаг

umatomba
16.04.2018
13:35:59
ага выглядит как то что нужно, благодарю

Alexey
16.04.2018
14:23:09
Руководитель группы Алексей Миловидной  ошибка?
Спасибо! Говорят, у них спелл-чекер меня не узнаёт. Исправили.

Konstantin
16.04.2018
16:18:53
Где можно почитать по тем метрикам, что КХ отправляет в графит?

Google
Alexey
16.04.2018
16:19:38
Сейчас документации по этим метрикам нет.

Konstantin
16.04.2018
16:20:57
Печаль

GithubReleases
16.04.2018
20:34:49
yandex/ClickHouse was tagged: v1.1.54378-stable Link: https://github.comhttps://github.com/yandex/ClickHouse/releases/tag/v1.1.54378-stable Release notes: v1.1.54378-stable

Andrey
16.04.2018
21:09:16
@clickhouse_ru

Alexander Nairashvili
16.04.2018
21:10:43
есть ли в клике функция или метод, которые позволяют быстро определить принадлежит ли тот или иной ipv4/6 набору подсетей?

Alexey
16.04.2018
21:14:11
Нет.

Впрочем, можно использовать словари типа trie.

Они позволяют классифицировать IP адреса по подсетям, как например, для geoip задачи.

Alexander Nairashvili
16.04.2018
21:17:36
roma
16.04.2018
23:30:56
лол

Alexander
17.04.2018
04:02:37
??

V
17.04.2018
04:51:16
?

Артемий
17.04.2018
04:53:41
?????

Artiom
17.04.2018
04:57:00
Интересно, какого это работать на Роскомнадзор... Наверное, потом ночью кошмары снятся)

Артемий
17.04.2018
04:58:55
Wolf
17.04.2018
05:01:14
минуту назад пришло письмо [members-discuss] Russian government blocked 2mln IPs at 16/04/2018 Умоляю остановитесь.

Vasilij
17.04.2018
05:02:39
На Хабре уже разразились статьёй: https://habrahabr.ru/post/353630/

Google
Aleksey
17.04.2018
05:04:32
толку то, право голоса свое прокакали 18го, теперь 6 лет будте добры хавайте что дают

Andrew
17.04.2018
05:06:12
есть ли в клике функция или метод, которые позволяют быстро определить принадлежит ли тот или иной ipv4/6 набору подсетей?
можно приводить ip к подсети SELECT IPv4NumToString(bitAnd(IPv4StringToNum('127.0.0.100'), IPv4StringToNum('255.255.255.0'))) IPv4StringToNum - переводим в int bitAnd - накладываем битовую маску на ip IPv4NumToString - обратное преобразование int -> ip

т.е. применяя bitAnd с ip и маской всегда получается адрес подсети

если адрес подсети совпадает это значит, что ip входит в сеть

Ivan
17.04.2018
05:20:11
Ip_trie словарь со списком всех интернет сетей и автономок, connection_log на несколько миллиардов строк, и запрос с группировкой и сортировкой по номеру автономки отрабатывает за разумное количество секунд.

Ilya
17.04.2018
05:20:31
Товарищи, есть таблица table, примерно 10 Гб (Engine=Log). Пытаюсь выполнить пободный запрос: CREATE TABLE new_table Engine=Log AS SELECT id, argMin(A, id), argMin(B, id), argMin(C, id), argMin(D, id), argMin(E, id), argMin(F, id) FROM table GROUP BY id Запрос требует около 30 Гб. Есть ли способ уменьшить память для выполнения запроса?

Wolf
17.04.2018
05:27:19
Ну у вас там таблица наверно на тридцать гигов получается, уберите группировку и по идее должно полегчать, так как чтобы отсортировать ему нужна полность таблица

Ilya
17.04.2018
05:28:32
Да, есть. Нужно выставить max_bytes_before_external_group_by в нужное вам значение
Спасибо, понимал, что должен быть параметр, но не увидел его

Павел Максимов
17.04.2018
06:53:55
Ребят, как лечить ошибку "502 Bad Gateway" выходит при создании таблицы

Wolf
17.04.2018
06:55:24
отказаться от нгинкса

Slach
17.04.2018
06:56:54
Таймауты покрутить
504 это timeout а тут похоже кто-то обрывает соединение с nginx до получения ответа

или просто proxy_pass на nginx не на тот IP настроен

Павел Максимов
17.04.2018
06:58:02
спасибо, nginx гляну

Mike
17.04.2018
07:22:40
О, группа за 1.5к перешагнула :)

Egor
17.04.2018
07:29:52
Ребят, как лечить ошибку "502 Bad Gateway" выходит при создании таблицы
Обычно такое когда nginx не может подсоединиться к апстриму. Кх в докере? Порт наружу проброшен?

Egor
17.04.2018
07:31:59
КХ не в докере, порт проброшен.
Тогда в логах nginx должна быть информация что не так с апстримом.

Google
Павел Максимов
17.04.2018
07:32:22
Vsevolod
17.04.2018
07:44:44
@milovidov_an а почему не взяли нормальные trie из rbldnsd?

судя по коду btrie, там наивный алгоритм без сжатия

Kirill
17.04.2018
07:50:27
@milovidov_an а почему не взяли нормальные trie из rbldnsd?
Marek Vavruša в английском чатике может сказать почему, т.к. он словарь делал

Vsevolod
17.04.2018
07:52:09
ну, мне не очень-то интересно, просто сам долго искал хорошую реализацию, даже одно время сам сочинил path compression алгоритм

но в итоге остановился на level compressed trie от rbldnsd, тупо потому что лукапы в 10 раз быстрее

даже на v4, не говоря уж о v6

Kirill
17.04.2018
07:54:27
Я думаю Marek'у это будет интересно, им в Cloudflare обычно важна производительность

Slava
17.04.2018
08:10:47
@kshvakov Кирилл, добрый день. Скажите, пожалуйста, планируется ли в будущем прикручивать возможность подключения справочников из postgresql, а так же будет ли возможность хранить пользователей в какой-либо внешней базе, вместо прописывания в xml файле?

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