@clickhouse_ru

Страница 40 из 723
Maxim
26.12.2016
08:21:01
Добрый день, Скажите как ClickHouse использует директорию /opt/cores. Хотим разместить данные ClickHouse в другой директории, не в /opt. Можно ли изменить расположение cores из конфига, или это лучше сделать ссылкой?

Alexander
27.12.2016
15:31:30
Всем привет, а в КХ есть функция row_number()

Google
Alexander
27.12.2016
15:31:31
?

ну или аналог какой-нибудь

Pavel
27.12.2016
15:35:37
Всем привет, а в КХ есть функция row_number()
А какую задачу хочется решить?

Alexander
27.12.2016
15:37:04
вообще есть таблица, у строках которой есть id и date_time (дата_добавления) ну и другие параметры для каждого ID надо вывести последнюю версию строки

papa
27.12.2016
15:37:30
argMax

если вопросов нет, то либо все понятно, либо ничего не понятно. если надо, могу более развернуто пояснить.

Alexander
27.12.2016
15:44:06
воистину работает, спасибо

papa
27.12.2016
15:44:26
а, ок.

Alexander
27.12.2016
15:44:31
да я открыл Доку, посмотрел эту функцию и запилил запрос, все сошлось

спасибо большое)

классно на самом деле, а я сидел голову ломал

КликХаус - сила

Igor
27.12.2016
16:02:27
есть rowNumberInAllBlocks

Google
f1yegor
27.12.2016
16:07:34
"Happy New Year" сказал clickhousr на проде

nikoinlove
27.12.2016
16:13:12
В корке?

papa
27.12.2016
16:27:08
в консоли

f1yegor
27.12.2016
18:13:30
сегодня запросы на проде начали проседать по таймауту(60 сек). посмотрел query_log - все отрабатывает быстро, есть подозрение что клиент не успевает забирать результаты, надо бы действительно стримить их. насколько я понимаю Accept-Encoding: gzip же не будет работать?

Igor
27.12.2016
18:14:02
будет, только там вроде надо передать флажок один

enable_http_compression=1

вот тест

https://github.com/yandex/ClickHouse/blob/1c849f14af0abeeb450115f800cc3c507ef73523/dbms/tests/queries/0_stateless/00302_http_compression.sh

f1yegor
27.12.2016
18:14:55
с этим флажком отдастся какой-то кастомный lz, которые не прочитать, если я ничего не путаю

Igor
27.12.2016
18:15:11
ненене, это компрессор метрики какой-то свой, наверное

если enable_http_compression, то там честный gzip или deflate (по умолчанию вроде deflate, не уверен, честно)

а кастомный lz это ты, наверное, про > вам придётся использовать для работы с ним специальную программу compressor (%%sudo apt-get install compressor-metrika-yandex%%). Если вы указали в URL compress=1, то сервер будет сжимать отправляемые вам данные.

просто enable_http_compression в документации никак не упоминается, только в тестах

f1yegor
27.12.2016
18:16:54
поставлю галочку - добавлю в документацию)

Igor
27.12.2016
18:18:19
причем на моих данных это сжатие прям сильно улучшило все, и время ответа, и размер. странно, что по умолчанию не работает

f1yegor
27.12.2016
18:19:11
да, я бы предполагал что должно без всяких флажков работать, просто через headers. странно сделали

Igor
27.12.2016
18:19:50
но кстати, если данных мало, то запрос дольше выполняется, ЕМНИП

ну, т.е., SELECT count() делать с хттп-сжатием глупо, например %)

f1yegor
27.12.2016
18:21:11
а вы, Игорь, не в яндексе же работаете?

Igor
27.12.2016
18:22:26
я? неееет

Google
Alexey
28.12.2016
05:58:57
причем на моих данных это сжатие прям сильно улучшило все, и время ответа, и размер. странно, что по умолчанию не работает
gzip всё-таки медленно жмёт (~30 МБ/сек/ядро при уровне сжатия 3, для типичного Intel ~2 GHz, если я правильно помню). Когда добавляли его поддержку, то у нас было много программ, которые уже ходили на сервер с заголовком Accept-Encoding: gzip. И если бы сделали, чтобы он сжимал по-умолчанию, то это привело бы к увеличению потребления CPU при релизе. Поэтому сделали флаг, чтобы в момент релиза ничего резко не поменялось. На самом деле зависит от сети. Для 1 GBit как раз под вопросом, стоит ли использовать gzip или нет (зависит от коэффициента сжатия). На 10 GBit точно не gzip. Если Accept-Encoding: gzip, deflate, то сервер использует gzip. На будущее, можно добавить Accept-Encoding: br (для Brotli). Также коллега сейчас делает, чтобы использовалась библиотека zlib-ng вместо zlib - станет лучше, но только чуть-чуть.

nikoinlove
28.12.2016
06:00:33
а разве бротли быстро жмет на лету? я думал он как зопфли, чтоб заранее пожатые файлики класть

Alexey
28.12.2016
06:01:33
Более-менее быстро. Почти как zstd. Для хороших уровней сжатия (как gzip 3..6) получается в районе 200..600 МБ/сек.

Alexander
28.12.2016
06:02:47
brotli жмет быстрее всего, что мы пробовали. Включая zstd

(впрочем, zstd мы пробовали год назад, а brotli -- совсем недавно)

nikoinlove
28.12.2016
06:05:08
а снаппи там всякие не?

которыми монги по дефолту жмутся

Alexey
28.12.2016
06:05:22
https://quixdb.github.io/squash-benchmark/ - только сразу при загрузке переключите на Xeon, а dataset на enwik8 или urls.10K.

Alexander
28.12.2016
06:05:45
снаппи жмет быстро, но плохо

Alexey
28.12.2016
06:09:00
Правда там страница наполовину устарела :( Нет уровней для zstd. Зато есть уровни для lz4, которые сбивают с толку. Значит лучше туда не смотреть.

По поводу видео митапа 14 декабря. Видео готово, я его посмотрел - там всё Ок. Но мне тут коллеги советуют, что исходя из формата этой встречи (встреча была ограниченной, не для всех желающих), видео выкладывать не нужно - чтобы сохранить смысл такого формата встреч. (При этом видео с первой встречи 21 ноября уже выложили.) Что думаете? Есть какие-нибудь аргументы по этому поводу?

Valeriy
28.12.2016
08:42:37
Я его как раз начал смотреть вчера, поэтому думаю, что его стоит оставить )

А, сорри, это от 21-го ноября смотрю.

Alexey
28.12.2016
08:43:26
Его точно оставим :) Речь только про второй митап.

Eduard
28.12.2016
08:48:31
А что, если желающие посмотреть не из ДС? :)

Alexey
28.12.2016
08:49:37
В ДС2, надеюсь, приедем и ещё вживую что-нибудь интересное расскажем. И в ДС3 (правда не знаю, в какой).

Igor
28.12.2016
08:49:39
кстати, хорошая идея, но не факт, что легко сходу реализуема - опубликовать видео приватной ссылкой и ссылку разослать контрибьютерам

Eduard
28.12.2016
08:51:25
Ну ДС3=Екат ящетаю, я б даже туда смотался по такому поводу.

Igor
28.12.2016
08:57:44
> @milovidov_an видео выкладывать не нужно - чтобы сохранить смысл такого формата встреч. Есть смысл - не выкладывать чтобы простимулировать стать "избранным" ) С другой стороны там много "мебели" и "интеграторов" )))

Alexey
28.12.2016
09:03:50
В следующий раз мы надеемся сделать встречу более интересной и надеюсь участников (контрибьютеров) будет больше :)

Google
f1yegor
28.12.2016
09:13:40
Я за видео, т.к. нету возможности побывать вживую

Pavel T.
28.12.2016
10:00:02
Колеги, не все и всегда могут на митап явиться. Будет обидно пропускать обсуждаемую информацию. Может всё же будет общедоступным видео от таких встреч?

Maksim
28.12.2016
10:01:36
ага, показываешь паспорт, что не из ДС, и тебе дается уникальная секретная одноразовая ссылка на видео, которое уничтожается автоматом на твоем лептопе после первого просмотра... XD

Pavel T.
28.12.2016
10:04:18
Что за дичь? Т.е. есть желание организации закрытого комьюнити по CH или всё же открытого? Для популиризации платформы наверное всё же чем больше публичной информации с рассказами, обсуждениями - тем лучше, ИМХО. Но это как уж авторы задумали. Или тут комьюнити только на Мск рассчитано, кто всегда сможет заглянуть на встречу? Тогда хоть вебинары организуйте

Alexey
28.12.2016
10:07:41
Да ладно вам. Все более менее крупные встречи будут с видео. Небольшие могут быть и без (это проще организовать). Видел с большого митапа тут было, с того что был в декабре - нет, мы как раз смотрим и думаем выкладывать ли.

Roman
28.12.2016
10:10:23
Что за дичь? Т.е. есть желание организации закрытого комьюнити по CH или всё же открытого? Для популиризации платформы наверное всё же чем больше публичной информации с рассказами, обсуждениями - тем лучше, ИМХО. Но это как уж авторы задумали. Или тут комьюнити только на Мск рассчитано, кто всегда сможет заглянуть на встречу? Тогда хоть вебинары организуйте
Материалы митапов контрибьюторов имеет смысл закрывать от публичного доступа чтобы не вводить публику в заблуждение о фичах и роадмэпе продукта. На публичных митапах в презентациях и выступления стараются ничего лишнего не обещать и недостоверной информацией не делиться. А на встречах контрибьюторов "кишки" могут обсуждаться без купюр.

Ну то есть тут играют роль маркетинговые и PR сообраджения.

На публичных встречах тоже отвечают на все вопросы, включая "кишки", но там это обычно идет в кулуарах и не попадает в видео или презентационные материалы — то есть кому надо задает вопрос и получает ответ, а на публику идет ровно то, что разработчики хотели сообщить. И это нормально — правильный маркетинг и для открытого продукта имеет значение.

Pavel T.
28.12.2016
10:13:30
тогда надо действительно как-то делить встречи и доступ разделить. Через ту же Г+ группу для разработчиков иметь возможность видеть больше материалов с техническими обсуждениями, что будет недоступно просто в паблике. Это конечно решается в первую очередь через агенду при организации встреч - кто ЦА и кому будут доступны материялы. Для каких-то материялов строго "ватермарк", что это не публичная оферта, а лишь идеи внутри комьюнити разработки и деплоя

Alexander
28.12.2016
10:42:36
Я не думаю, что ограниченность приглашения надо связывать с ограниченностью доступа к видео. На Олимпиаду мало кого приглашают, но все смотрят. Ограничивать следует только в том случае, если была информация "не для всех". Насколько я помню, ничего секретного на митапе не было. Хотя не уверен насчет выступления товарища из Люксофта, имеет смысл у них спросить.

Darafei
28.12.2016
10:45:16
обычные правила - или "предупредить всех докладчиков, что запись будет публична", или "спросить каждого докладчика перед выкладыванием"

Alexander
28.12.2016
10:53:11
там не для разглашения может быть только название клиента

Но мне кажется, что сам факт видео съемки подразумевает, что видео не для служебного пользования.

Но решать Яндексу

Igor
28.12.2016
11:16:37
Подскажите а может существует другая документация по функциям в CH ? Не в таком формате ? Для чего: в gui хочу сделать подсказки по ф-циям пример https://monosnap.com/file/YCgjbBwBhxMBOhi3VbNbdSWUAdyRnR но в лоб регулярку не получилось написать чтобы распарсить текущую документацию. Идеал : "functionName"=>"desc" , но xml/yml/json тоже пойдет )

Igor
28.12.2016
11:18:57
мне в голову приходят разве что исходники, и в тех вряд ли можно будет добиться желаемого регуляркой

Google
Igor
28.12.2016
11:19:56
ну да, даже на том же примере с uniqHLL12 в исходниках документации вообще нету %)

на примере FunctionsArray.h есть /** Функции по работе с массивами: * * array(с1, с2, ...) - создать массив из констант. * arrayElement(arr, i) - получить элемент массива по индексу. * Индекс начинается с 1. Также индекс может быть отрицательным - тогда он считается с конца массива. * has(arr, x) - есть ли в массиве элемент x. * indexOf(arr, x) - возвращает индекс элемента x (начиная с 1), если он есть в массиве, или 0, если его нет. * arrayEnumerate(arr) - возаращает массив [1,2,3,..., length(arr)]

но с учетом того, что комментарии надо будет переводить на английский, это еще менее стабильный способ

могу вам помочь с унификацией описаний функций и всего такого

Igor
28.12.2016
11:22:49
угу, это я руками пример скопипастил из доки) остальные 1000 функции решил регуляркой ...

Igor
28.12.2016
11:23:25
гг. а я некоторое время назад регуляркой проходился по всем исходникам, чтобы найти функции, которых нет в документации, и добавлял их туда %))

Igor
28.12.2016
11:23:48
)))

Igor
28.12.2016
11:23:49
регэкспы - это прекрасно!

Igor
28.12.2016
11:24:05
select * from system.functions ?

я так подгружаю в gui список - чтобы всегда был актуальный список исходя из сборки

Igor
28.12.2016
11:24:51
вот блин :(

чё-т я совсем невнимательно содержимое system изучал

Pavel T.
28.12.2016
11:25:40
а документация не доксигеном сгенерирована?

Igor
28.12.2016
11:26:19
неа

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