@clickhouse_ru

Страница 179 из 723
Александр
21.06.2017
18:00:17
Главное что бы ответ лился без буферизации

Сокетом вообще лялька

Igor
21.06.2017
18:02:39
Главное что бы ответ лился без буферизации
Спс за наводку! у меня только финал прилетал...

Александр
21.06.2017
18:03:36
Вот в этом и проблема, т.к. стейт не меняется в промежутке, а сразу приходит готовый ответ целиком

Google
Olga
22.06.2017
07:47:45
Привет! Скажите, пожалуйста, я хочу питоновским скриптом ходить в click house. Нужно ли для этого получать какой-то токен?

Maksim
22.06.2017
07:49:17
нет, логин-пароля достаточно

Olga
22.06.2017
07:49:31
Спасибо!

Aleksandr
22.06.2017
08:43:37
Можно ли как-то изменить primary key на таблице с данными? Или лучше сделать заново импорт?

Александр
22.06.2017
08:44:08
Я не рисковал и переливал данные

Кто подскажет из какой ветки собрать релиз кандиата?

Aleksandr
22.06.2017
08:57:53
спасибо

Julia
22.06.2017
09:05:49
#москва #бд #субд #удаленка #офис Работа до осени на удаленке, с перспективой в офис Ищем опытного инженера баз данных в команду. Работа над созданием интересного решения в области аналитики с нуля. http://constssk.ru зп до 180к Что надо делать: Проектирование структуры БД Документирование, составление диаграмм связей Написание SQL запросов Оптимизация работы БД Кластеризация работы СУБД От Вас: Опыт работы с pgsql большим набором данных Знание PL/pgSQL Умеете построить ETL-процесс в крупных хранилищах данных Можете строить модели данных и оптимизировать запросы в PostgreSQL Знание Python3, как плюс Также плюсом будет знания и опыт работы с NoSQL (Clickhouse) Контакт: в лс пожалуйста

Renat
22.06.2017
09:08:39
все верно, в кликхаусе не классический SQL синтаксис, значит это NoSQL

Александр
22.06.2017
09:23:11
А это нормально, что ./release скрипт ничего не делает вообще? ) Ну, т.е. ни ошибок, ни сообщений, тишина

Alexander
22.06.2017
09:46:53
Коллеги, всем привет. Вот делаю такой запрос в таблицу КХ SELECT hid, cpa, aconv_b FROM dict.conversion_rates WHERE (hid = 91491) AND (is_moscow = 1) выводится все как надо, 2 запили по бизнес смыслу ┌───hid─┬─cpa─┬──────────────aconv_b─┐ │ 91491 │ 1 │ 0.03313661847586101 │ │ 91491 │ 0 │ 0.019289985318994004 │ └───────┴─────┴──────────────────────┘ НО, если ставлю вместо hid в 91491 AS hid то выводится около 9000 записей SELECT 91491 AS hid, cpa, aconv_b FROM dict.conversion_rates WHERE (hid = 91491) AND (is_moscow = 1) при этом в таблице, больше чем 9к записей Это баг, фича или я что-то не то, в запросе написал? по идея должно же быть также 2 записи, потому что условие в WHERE не изменилось

Александр
22.06.2017
09:49:33
Ну у вас возможно 9к записей только попадают под условие is_moscow

Alexander
22.06.2017
09:49:43
нет, там два условия

Google
Александр
22.06.2017
09:50:08
Все верно. В первом запросе вы берете оригинальный hid из строки и проверяете hid = 91491 и is_moscow = 1

Во втором запросе вы берете в качестве hid значение 91491 для всех строк

И проверяете только is_moscow

Так вот строк с is_moscow может быть всего 9к?

Alexander
22.06.2017
09:50:52
может

Александр
22.06.2017
09:50:58
проверьте select count() from dict.conversion_rates where is_moscow = 1

Если там будет 9к то запрос работает корректно

Roman
22.06.2017
09:52:18
Что будет есть вместо "91491 AS hid" использовать что-то вроде "91491 AS some_custom_name"?

Александр
22.06.2017
09:52:24
Просто в первом запросе данные приходят в виде hid - 123 hid - 345 hid - 678 Во втором же запросе для всех строк приходит так hid - 91491 hid - 91491 hid - 91491

Поэтому в первом условии в where нет никакого смысла

Т.к. под where hid = 91491 попадут все строки, далее они отфильтруются уже по второму условию is_moscow

Alexander
22.06.2017
09:53:11
SELECT 91490 AS some_name, cpa, aconv_b FROM dict.conversion_rates WHERE (hid = 91491) AND (is_moscow = 1) ┌─some_name─┬─cpa─┬──────────────aconv_b─┐ │ 91490 │ 1 │ 0.03313661847586101 │ │ 91490 │ 0 │ 0.019289985318994004 │ └───────────┴─────┴──────────────────────┘ будет нормально

papa
22.06.2017
09:53:13
91491 AS hid, ... WHERE (hid = 91491)

Александр
22.06.2017
09:53:16
Что и происходит

Alexander
22.06.2017
09:53:17
да, ясно

но я думал условие WHERE должно к столбцам таблицы применяться, а потом уже в результате подставляться названия после AS

Александр
22.06.2017
09:53:59
prewhere применяется до where

еще до того как данные прочитаны вроде как

если where hid = 91491 вынести в prewhere

и оставить select 91491 as hid, то возможно вернет две строки

Google
Александр
22.06.2017
09:54:33
Но смысл в таких танцах...

Alexander
22.06.2017
09:54:44
да случайно получилось как-то

Александр
22.06.2017
09:54:58
:)

Alexander
22.06.2017
10:04:18
по-моему в Оракле алиасы по другому работают

но там даже удобнее

не надо в GROUP BY или ORDER BY какой-то сложное выражение писать, если там не просто столбец

точнее тут удобнее

papa
22.06.2017
10:07:36
тут можно алиасить (почти) любые выражения в (почти) любых местах запроса, и переиспользовать их в других местах запроса. но возникает проблема с алиасом равным колонке по имени, т.к. при использовании срабатывает ссылка на алиас.

Vladislav
22.06.2017
10:16:07
Привет :) Не подскажете — как Clickhouse отнесётся к тому, что Zookeeper окажется за Loadbalancer? Соответственно в описании кластера будет одна нода, а реально кластер...

Maksim
22.06.2017
10:26:43
Скажите плиз кто использует smi2 php driver. может появился драйвер побыстрее? потому как скорость получения данных у него не фонтан и далека от реально обрабатываемой скорости

Александр
22.06.2017
10:28:33
И возможно медленно в вашем случае он работает из-за отключенного сжатия

У нас сжатие включено по умолчанию

Там же, в соседней репе есть билдер запросов

Сори, не ту ссылку дал

https://github.com/the-tinderbox/ClickhouseClient

Aleksey
22.06.2017
11:27:44
#работа #удаленка #офис Нужен программист на Yii2/Clickhouse в интересный проект, от 100к. Удаленно. Подробности в лс.

Bulat
22.06.2017
11:31:36
давайте не будет в этом чате хантить людей, поскольку это чат для обсуждения технических вопросов.

Maksim
22.06.2017
11:36:23
https://github.com/the-tinderbox/ClickhouseClient
а чем его преимущество от smi2 ?

по скорости есть?

Google
Maksim
22.06.2017
11:45:08
У нас сжатие включено по умолчанию
тут не в сжатие дело. а в том что кх присылает результат строкой помоему. а это надо форматнуть в массив или объект что занимает дополнительное время на пост обработку

Александр
22.06.2017
11:45:51
Ну тут как бы разницы не будет. КХ присылает ответ в виде JSON, который разбирается функцией json_decode в обычный ассоциативный массив

Я не знаю о каких скоростях идет речь, но я даже десятки тысяч строк разбираю крайне быстро

на селектах

Думаю, что выгружать сотни тысяч строк из кх в php и дальше че то с ними делать - плохая затея

Maksim
22.06.2017
11:49:55
да согласен. строка по любому должна быть преобразована и любой драйвер делает одно и тоже. надо думать над тем чтобы кх присылал адекватное количество строк тогда и задержек на пост обработку не будет

а про сжатие какое вы говорите. на уровне http ?

Александр
22.06.2017
11:50:18
Да

Это уменьшает latency по сетке

Maksim
22.06.2017
11:50:49
еще большая проблема то что при каждом запросе он заново подключается отключается

Александр
22.06.2017
11:50:56
keep-alive

Maksim
22.06.2017
11:50:59
это создает задержку

Igor
22.06.2017
11:51:02
Можно дампить на php сразу в файл без обработки, в своём драйвере я сделал поток на диск, и можно сразу гнать в gz

Александр
22.06.2017
11:51:42
Я так понял, что проблема не в том, что бы сдампить на диск, а в том, что бы полученные данные обработать

И вот время гидрации полученных данных собственно большое

Maksim
22.06.2017
11:52:01
keep-alive
это что за чудо опция

Александр
22.06.2017
11:52:26
https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%BD%D0%BE%D0%B5_HTTP-%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5

Maksim
22.06.2017
11:52:39
и какие проблемы она создаст кроме нагрузки на трафик

Александр
22.06.2017
11:53:06
Google
Maksim
22.06.2017
11:53:10
эту опцию где включить

как сокет пробросить

Fike
22.06.2017
11:53:19
А как именно проявились проблемы со временем?

Александр
22.06.2017
11:53:23
Можно включить в клиенте газла

При инстанциировании самого транспорта можно подменить клиент газла и туда передать нужные опции соединения

Maksim
22.06.2017
11:54:01
в сми2 просто такой штуки не наблюдал

не знаю через что они коннект создают

Александр
22.06.2017
11:54:22
Там обычный curl

У нас тот же curl, только с оберткой в виде guzzle

Maksim
22.06.2017
11:55:12
keep alive будет на каждый запрос?

Kirill
22.06.2017
11:55:19
а пхп теперь умеет keep-alive ? попробуйте тотже запрос, но через https://github.com/davecheney/httpstat и смотрите где ждет

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