@clickhouse_ru

Страница 81 из 723
Pavel
04.03.2017
00:19:26
я подтянул Кафку, потыкал ее, вроде бы ОК, но вот вариант с буфер таблицей нравится больше, не хочется ради батчинга тащить целый демон

но Алексей не рекомендует :(

Vitaliy
04.03.2017
00:21:02
я любитель сделать свое решения

пробовал писать в ch сервис с 1.5k rps - вышло паршиво без батч-буфера никак

Google
Pavel
04.03.2017
00:22:57
а buffer таблица не помогает?

Vitaliy
04.03.2017
00:23:25
не пробовал

Pavel
04.03.2017
00:23:50
должна помочь

Vitaliy
04.03.2017
00:26:20
будет время - попробую

спасибо за наводку

Vladimir
04.03.2017
00:28:14
что то кажется что limit by не работает. Либо я его не так готовлю. Клиент выдает синтаксическую ошибку.

Alexey
04.03.2017
01:28:29
Версия свежая?

Vladimir
04.03.2017
14:16:00
Версия взята по apt-get update && apt-get install

Олег
04.03.2017
14:22:33
Кажется, ответ на вопрос Алексея — скорее вывод чего-то вроде SELECT value FROM system.build_options WHERE name='VERSION_FULL';

Alexey
04.03.2017
14:28:10
Также есть SELECT version()

Vladimir
04.03.2017
15:16:37
:-) просто как буду у ПК так предоставлю)

Версия свежая?
─version()─┐ │ 1.1.54164

Alexey
04.03.2017
22:52:12
─version()─┐ │ 1.1.54164
Да, это последняя версия. Значит не так пишете LIMIT BY. Можете показать?

Google
Vladimir
05.03.2017
07:28:32
Да, это последняя версия. Значит не так пишете LIMIT BY. Можете показать?
select * from my_metrics limit by 1; Syntax error: failed at position 32: select * from my_metrics group by user limit user by 1; Syntax error: failed at position 46: Expected number

Да, это последняя версия. Значит не так пишете LIMIT BY. Можете показать?
по идее limit by должен идти после group. я пробовал по разному)) но всегда выражение о простом лимите в error

Konstantin
05.03.2017
13:14:49
Всем привет Вот у меня такой вопрос назрел (я еще только знакомлюсь близко с CH): Есть толстый dev сервант на котором накопилось какое-то (терабайтное) количество данных. По какой методике/алгоритму лучше всего их перетащить на новую инсталлцию, уже кластерную?

Andrey
05.03.2017
13:40:16
Всем привет. Скажите, как организована балансировка запросов? И есть ли она? Или лучше делать что-то поверх, в стиле haproxy?

f1yegor
05.03.2017
13:41:50
f1yegor
05.03.2017
13:44:22
Всем привет. Скажите, как организована балансировка запросов? И есть ли она? Или лучше делать что-то поверх, в стиле haproxy?
я думаю что общее количество соединений может исчисляться десятками. но в целом странно иметь много клиентов к аналитической базе. если больше - можно спрятать за haproxy. но лучше все конечно мерять

Место не проблема , скорее при пайпе будет скорость страдать
тогда да, делаете нормальную конфигурацию кластера, replicated/distributed локальную таблицу и заливаете

Andrey
05.03.2017
13:46:50
я думаю что общее количество соединений может исчисляться десятками. но в целом странно иметь много клиентов к аналитической базе. если больше - можно спрятать за haproxy. но лучше все конечно мерять
Да у нас просто выходит некий гибрид, аналитической с фронтендовой. Большой сторедж с данными к которым обращается большое(потенциально) количество клиентов(фронтенд, аналитики, алгоритмы).

f1yegor
05.03.2017
13:47:31
select * from my_metrics limit by 1; Syntax error: failed at position 32: select * from my_metrics group by user limit user by 1; Syntax error: failed at position 46: Expected number
потому что выражение LIMIT N BY KEY. я на этой неделе добавил это в документацию

Andrey
05.03.2017
13:48:35
А еще скажите, где лежит самая актуальная документация? А то на https://clickhouse.yandex/reference_ru.html нет упоминания про sumIf, хотел поправить, сунулся в гит, а там вроде как вообще иная дока.

f1yegor
05.03.2017
13:50:03
насколько я знаю на сайте лежит как раз мастер, например вот мое изменение https://clickhouse.yandex/reference_en.html#LIMIT N BY modifier

Andrey
05.03.2017
13:52:10
Я про русскую)

f1yegor
05.03.2017
13:52:50
в англ тоже нет сейчас. выберете удобное место и сделайте PR

в гите эти же файлы - reference_

Andrey
05.03.2017
13:53:38
Вот тут вообще нет упоминания "Комбинатор -If. Условные агрегатные функции" https://github.com/yandex/ClickHouse/blob/master/doc/reference_ru.html а на сайте есть: https://clickhouse.yandex/reference_ru.html#Комбинатор -If. Условные агрегатные функции вот собственно и вопрос) Куда делать PR?

f1yegor
05.03.2017
13:55:34
line 6540

ветка мастер

Google
Andrey
05.03.2017
13:57:17
А, видимо мой косяк. Гитхаб в вебе говорит что всего строк 7759,а показывает только 5731

Еще вот вопрос. Когда выполняется запрос, слева появляются разные стрелочки. Что они означают?



f1yegor
05.03.2017
13:58:50
я думаю это для того чтобы психологически запрос выстрее казался))

Andrey
05.03.2017
14:00:43
Интересно что логика порядка отображения не очевидна) неужели там действительно rand на выбор стоит)) Гляну потом в исходниках

f1yegor
05.03.2017
14:01:46
мне всегда казалось что она по часовой крутится, но не суть важно)

Andrey
05.03.2017
14:05:34
Еще такой вопрос. max_memory_usage - Максимальное количество потребляемой памяти при выполнении запроса на одном сервере. Если у меня результат запроса занимает больше чем есть памяти на сервере то кроме расширения памяти мне ничего не поможет?

f1yegor
05.03.2017
14:07:04
да, это есть в документации https://clickhouse.yandex/reference_en.html#ClickHouse features that can be considered disadvantages

Grigory
05.03.2017
14:07:17


f1yegor
05.03.2017
14:07:18
и сорри, я обычно адресую к англ доке

у вас меньше 8 гб на сервере?

Andrey
05.03.2017
14:09:06
нет, у меня просто аналитики которые иногда любят select * ;(

f1yegor
05.03.2017
14:09:51
ну это не настоящие аналитики. сначала палкой надо бить, потом топором

человек же физически не будет читать 10к строк

Andrey
05.03.2017
14:13:27
Да я так, скорее заранее от шишек защищаюсь. Чтоб знать что можно что нельзя)

f1yegor
05.03.2017
14:15:38
я бы на эту тему прочитал про квоты юзеров. правда сам я это не настраивал

Andrey
05.03.2017
14:21:10
А какой алгоритм отправки запросов на другие сервера? Допустим у меня есть 3 сервера с репликой. Я отправляю запрос с 2мя агрегатными функциями. Он будет выполнен только на одном или парарллельно на 2х? Пытаюсь понять как CH масштабируется.

f1yegor
05.03.2017
14:22:01
таблица replicated или distributed?

я подозреваю что 2е агрегатные функции никогда не будут запущены параллельно, потому что паралеллизация идет по данным. (либо партициям, либо сэмплингу)

Google
Andrey
05.03.2017
14:24:18
ага, т.е. мне нужны в данном случае distributed?

f1yegor
05.03.2017
14:26:09
запрос с 2мя агг функциями имеет в виду select uniq(userid), sumIf(event_count), что-то в этом духе?

Andrey
05.03.2017
14:26:23
ага

Вложенных ведь на сколько я понял нет.

f1yegor
05.03.2017
14:28:35
если таблицы только replicated, то запрос будет выполняться полностью на одном сервере. но если у вас 3 реплики, лоад от нескольких запросов будет распределяться. т.е. каждый из третий запросов предположительно уйдет на свой сервер

если у вас distributed таблица, и вы скажем выполняете расчет за 6 месяцев данных, то каждому серверу достанется по 2 месяца.

Andrey
05.03.2017
14:29:58
Ага, т.е. один инстанс сам может распределить запросы по репликам. Это круто.

f1yegor
05.03.2017
14:31:36
я не разработчик. но мне кажется что это сильно зависит от нагрузки, характера запросов и прочего. но проще всего начать просто с 3х реплик. поверх всегда можно создать distributed.

а если в документации нет чего, то welcome дописывать

Andrey
05.03.2017
14:36:54
Да, я только вникаю в CH и пока помню вопросы на которые не нашел сразу ответа буду пулить в доки.

f1yegor
05.03.2017
14:36:54
вы наверно это читали уже https://clickhouse.yandex/tutorial.html?

Andrey
05.03.2017
14:37:00
да

с этого и начал.

Но вообще скорость конечно поражает. Что по сравнению с PG, что со спарком. Хотя академически их наверное не правильно сравнивать.

f1yegor
05.03.2017
14:41:20
ну да, везде байты по разному хранятся. хотя где-то сравнивают http://tech.marksblogg.com/benchmarks.html

вопрос кстати к аудитории. кому-нибудь нужен spark-clickhouse коннектор?

Andrey
05.03.2017
14:55:32
Нам)

Очень думаю будет нужен.

f1yegor
05.03.2017
14:56:15
зачем?

Andrey
05.03.2017
14:58:15
Вот так вот прям список аргументов не смогу наверное выложить. Но сейчас вся инфраструктура на spark/cassandra/Postgres. Возможно не все получится перевести на CH.

Google
Andrey
05.03.2017
15:00:14
Как минимум первое время

f1yegor
05.03.2017
15:01:47
ну у нас допустим был elastic-spark коннектор до этого. но когда переехали на CH - стал просто 1 запрос по rest. коннектор нужен если вы хотите создавать произвольные memory/log таблицы в clickhouse во время работы спарка. а так jdbc драйвера должно хватать. я просто смотрел реализацию snowflake connector, для кликхауса можно создать что-то подобное, но у меня юзкейсов нет

кстати, язык - scala?

Andrey
05.03.2017
15:03:33
Да, язык scala. На счёт запроса по rest не понял

Вы с парк данные забираете через rest?

f1yegor
05.03.2017
15:05:37
до этого данные выгребались с эластика в спарк и там проводилась аггрегация. когда это переехало с кликхаус - стал только один запрос с кучей group by и агг функциями. поэтому можно делать это напрямую

у нас просто есть scala клиент к КХ для запросов + реализацией reactive streams, но все не доходят руки тесты дописать, отвязанные от нашей доменной области, чтобы заопенсорсить

Renat
05.03.2017
20:46:36
Из под какого пользователя на шадрах выполняются запросы? Кажется это readonly. Или я ошибаюсь?

Dmitry
05.03.2017
20:47:13
Default, но можно явно задать в конфиге

mAX
05.03.2017
21:38:07
не так давно писал что у меня КХ падал при вставке большого количества столбцов и строк.. потестил на компе 4 ядра core i5, 32 гига оперативки и ssd..действительно не падает) ~2300 колонок,все в ключ добавлены в MergeTree(FlightDate, (..вот сюда..),8192) в таблицу забито 1млн строк..немного потестил адовый селект с where в котором около 200 условий кушает ~700мб памяти, отдает за 400-600мс если в where 10-20 условий,то 40-140мс,60-80мб памяти.. сравнивать особо не с чем,но для моих задач за глаза!) остается такой вопрос.. при вставке данных CH временами писал что скушал 16Гб памяти для обработки insert,но при select'ах больше гига ему вроде бы не нужно... можно ли сделать вставку на одном компе и всю базу файлами перенести на виртуалку в облако с маленьким объемом памяти? не понадобится ли ему много оперативки при загрузке такой БД? выполнять нужно только селекты..изменять данные не придется

Andrey
05.03.2017
21:39:19
не так давно писал что у меня КХ падал при вставке большого количества столбцов и строк.. потестил на компе 4 ядра core i5, 32 гига оперативки и ssd..действительно не падает) ~2300 колонок,все в ключ добавлены в MergeTree(FlightDate, (..вот сюда..),8192) в таблицу забито 1млн строк..немного потестил адовый селект с where в котором около 200 условий кушает ~700мб памяти, отдает за 400-600мс если в where 10-20 условий,то 40-140мс,60-80мб памяти.. сравнивать особо не с чем,но для моих задач за глаза!) остается такой вопрос.. при вставке данных CH временами писал что скушал 16Гб памяти для обработки insert,но при select'ах больше гига ему вроде бы не нужно... можно ли сделать вставку на одном компе и всю базу файлами перенести на виртуалку в облако с маленьким объемом памяти? не понадобится ли ему много оперативки при загрузке такой БД? выполнять нужно только селекты..изменять данные не придется
А каков общий вес таблицы?

mAX
05.03.2017
21:39:52
GUI http://guiclickhouse.smi2.ru/sql пишет что около 3.9Гб

даже меньше.. 3.09Гб

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