@clickhouse_ru

Страница 135 из 723
Igor
01.05.2017
19:39:16
все сохранения поисков и прочее персистенси где сохранятеся? Как я понял это полная статика?
пока все храниться в localStore браузера, история запросов в основном локально, но может "пытаться" хранить на сервере CH Каждый запрос из tabix отправляется с признаком queryLog и с пометкой /*tabix_id...*/ далее интерфейс делает select querylog like ...

Есть некоторая боль связанная с тем что ctrl+стрелки работают не так как хочется. Сделать ишью?
Если вы собираете под себя - можете попробовать ветку b1 - до текущего коммита 7159bcad7cb015b586eed82b03a7a36eb4a6978a поправил hotkey + другие фичи и фиксы в мастере будет +- через недельку новые фичи: - процесс лист кластера, а не одной машины - метрики график - не рисовал нулевые значения - hotkey checkbox - enable left - линейные графики научились группироваться по строковым колонкам - minor fixes

Kirill
02.05.2017
05:38:38
Google
Vladislav
02.05.2017
06:21:22
привет. столкнулся с проблемой: на локальных и distributed таблицах удалил три колонки, изменил запрос на импорт, но ругается на то, что этой колонки не существует: Exception: Code: 10, e.displayText() = DB::Exception: Not found column utm_source in block. There are only columns: ..., e.what() = DB::Exception

при этом вставляю с указанием колонок: INSERT INTO clickstream (columns) FORMAT TSV , и там utm_source нет

можете подсказать, что с этим делать? проверил через desc table – таких колонок нет, пересоздал distributed-таблицу (импортирую всё через нее) – не помогло

Alexander
02.05.2017
06:32:01
можете подсказать, что с этим делать? проверил через desc table – таких колонок нет, пересоздал distributed-таблицу (импортирую всё через нее) – не помогло
Не уверен, но скорее всего дело в кэше зукипера - у меня подобная проблема была, когда после пересоздания таблицы не создавались записи эквивалентные тем, которые были в таблице до пересоздания. Решил проблему переименованием пути до хранилища в зукипере

Alexey
02.05.2017
07:13:23
ui.tabix.io ?
нет делал локальную инсталляцию

сильно отличаются версии между хостед и доступным на git релизами?

да на ui.tabix.io все это есть

а какая там версия?

Igor
02.05.2017
07:19:31
сильно отличаются версии между хостед и доступным на git релизами?
сильно, я забываю собирать на github релизы, да и смысла в них не вижу т.к весь стейбл код лежит в мастере и скомпилин в папке build, а разработка идет в отдельных ветках. Для самосборки используйте просто master ветку, ui.tabix.io это как раз автовыкладка master ветки

Alexey
02.05.2017
07:20:00
спасибо

Google
Alexey
02.05.2017
07:20:12
так и будем поступать

Vladimir
02.05.2017
13:01:14
Подскажите можно ли в конфиге прописать max bytes external group by? Если можно - то per user или per server?

Andrey
02.05.2017
13:15:23
Это общее ограничение по памяти.

"При использовании max_bytes_before_external_group_by рекомендуется выставить max_memory_usage примерно в два раза больше. Это следует сделать, потому что агрегация выполняется в две стадии: чтение и формирование промежуточных данных (1) и слияние промежуточных данных (2). Сброс данных на файловую систему может производиться только на стадии 1. Если сброса временных данных не было, то на стадии 2 может потребляться до такого же объёма памяти, как на стадии 1."

George
02.05.2017
13:16:56
Привет! Возможно ли вызвать OPTIMIZE по всем данным. Сейчас этот запрос выполняется очень быстро и оптимизирует минимум строк.

Andrey
02.05.2017
13:21:38
Привет! Возможно ли вызвать OPTIMIZE по всем данным. Сейчас этот запрос выполняется очень быстро и оптимизирует минимум строк.
Может быть вам поможет OPTIMIZE FINAL. "Если указан FINAL, то оптимизация будет производиться даже когда все данные уже лежат в одном куске."

Vladimir
02.05.2017
13:25:49
Это общее ограничение по памяти.
Хорошо. А его можно прописать в конфиге? в server.xml?

Andrey
02.05.2017
13:27:39
в users.xml: <!-- Profiles of settings. --> <profiles> <!-- Default settings. --> <default> <!-- Maximum memory usage for processing single query, in bytes. --> <max_memory_usage>20000000000</max_memory_usage> <!-- Use cache of uncompressed blocks of data. Meaningful only for processing many of very short queries. --> <use_uncompressed_cache>0</use_uncompressed_cache> <!-- How to choose between replicas during distributed query processing. random - choose random replica from set of replicas with minimum number of errors nearest_hostname - from set of replicas with minimum number of errors, choose replica with minumum number of different symbols between replica's hostname and local hostname (Hamming distance). in_order - first live replica is choosen in specified order. --> <load_balancing>random</load_balancing> </default> <!-- Profile that allows only read queries. --> <readonly> <readonly>1</readonly> </readonly> </profiles>

Vitaliy
02.05.2017
13:49:03
Может быть вам поможет OPTIMIZE FINAL. "Если указан FINAL, то оптимизация будет производиться даже когда все данные уже лежат в одном куске."
OPTIMIZE FINAL имеет смысл делать либо если вы добавили новую колонку и хоитите матереализовать ее на диске, либо если вы используете какой-нибудь экзотический движок типа GraphiteMergeTree. Если у вас много данных, а OPTIMIZE отрабатывает быстро, то это говорит о том что оптимизации (мержи) просто не назначаются ввиду ограничений в настройках <merge_tree></merge_tree>. Так по-умолчанию мержи не назначаются если размер наибольшего куска больше max_bytes_to_merge_at_max_space_in_pool=100GB.

Извините, что поднимаю. Проблема выглядит серьезной, если я сам где-то не натупил. Костылить со сменой пути в зукипере не хочется.
А можете где-нибудь (например в GitHub issues https://github.com/yandex/ClickHouse/issues/new) описать проблему чуть подробнее? Для начала стектрейс ошибки был бы очень полезен.

Vitaliy
02.05.2017
14:08:34
Спасибо. Создал: https://github.com/yandex/ClickHouse/issues/752
У вас случаем нет MaterializedView "смотрящих" на измененные таблицы?

Vladislav
02.05.2017
14:10:50
но я их удалил (не особо нужны), и всё заработало

спасибо!

Alex
02.05.2017
14:22:43
Добрый день! Скажите, есть ли смысл создавать дополнительные хэш столбцы для строковых столбцов, по которым идет группировка? Например, есть колонка col String, стоит ли создать colhash uint64 default siphash64(col) а затем делать group by colhash, col. Сделает ли это запрос быстрее или может наоборот?

Andrey
02.05.2017
14:40:25
Может работать эффективнее по памяти если строки у вас длиннее хеша.

Mike
02.05.2017
15:21:23
Всем привет! А на какком-то из митапов говорили, что можно запрашивать прямо из CSV, без перегрузки в БД. Кто-то помнит как?

Google
Вася
02.05.2017
15:23:25
clickhouse-local?

Mike
02.05.2017
15:28:39
Да, точно! А где оно берётся? На маке только клиент и сервер видно сразу

prll
02.05.2017
15:43:24
clickhouse --local

можно сделать симлинк clickhouse -> clickhouse-local

Mike
02.05.2017
16:59:25
Для истории: как по-простому позапрашивать из многомногомногоколоночного CSV: cat gl.csv | clickhouse-local -S "`head -n 1 gl.csv | sed -e 's/\"/\n/g' | sed -e 's/,/ String,/g' | tr --delete '\n' | sed 's/.*/\0 String/'`" --input-format=CSV -q "select count(*) from table where message = 'SearchResult' limit 10" #faq

Boris
02.05.2017
17:42:14
Добрый вечер. Прошу подсказать. Есть таблица A (35М строк, MEMORY) и таблица B (100M строк, MergeTree) обе имеют столбец column. Хочу создать селект значений column, которые содержатся в A но не содержатся в B, другими словами вычесть из множества A множество B. Есть идеи как лучше реализовать и при этом не получить ошибку 'Cannon allocate memory' при джоине? :)

Dmitry
02.05.2017
18:48:13
А значения уникальные?

Boris
02.05.2017
18:56:21
@AndreevDm да, уникальные. @ztlpn, спасибо, попробую.

a
02.05.2017
20:02:00
Всем привет. Последнюю неделю потихоньку провожу тестирование CH. Постоянно "глаз цепляется" за

Dmitrii
02.05.2017
20:02:52
Интрига.

a
02.05.2017
20:02:57
Движок MergeTree поддерживает индекс по первичному ключу и по дате, и обеспечивает возможность обновления данных в реальном времени.

И вопрос знатокам: Кто ? Кого и главное когда, обновляет?

Shine
02.05.2017
20:04:52
имеется ввиду, что в этом движке не нужно ждать каких-то слияний или еще чего

залили данные и они сразу доступны

но про апдейты - забудьте )

a
02.05.2017
20:11:04
ну вот, как все скучно и быстро выяснилось

кто нибудь пробовал держать много данных в одной партиции ? без разделения лога по датам? вопрос относительно ReplacingMergeTree

Igor
02.05.2017
20:31:35
Вопрос к Сore разработчикам, может он покажется глупым - заранее сорри, но очень давно хотел спросить, много работаем с Collapsing и каждый раз возникает мысль, а если передавать поле NULL для обновляемой записи - то можно схлопывать: "значение" + NULL = "как значение". Поясню идею - допустим мы пишем действия пользователей на страницы - там передается Date+VisitID + UserAgent + URL_Referer + Время пользователя на странице -> сейчас мы это все храним в нашем ETL в памяти UserAgent+URL_Referer ради обновления "времени на странице". А если хранить только Date+VisitID, а в поле UserAgent + URL_Referer передавать NULL и надеяться на то - что Collapsing схлопнет их и сохранит _любое_ не NULL значение. ИМХО это бы решило много проблем... Это теоритически вообще возможно такое поведение или я сильно заблуждаюсь ?

Google
papa
02.05.2017
21:56:17
если у вас есть crdt с некоторым мержем v1,v2->v, то лифтинг в Nullable(T) кажется тривиален.

вопрос в том, какие проблемы это создаст.

Sergii
02.05.2017
23:03:55
Всем привет, а то что для ReplicatedReplacingMergeTree выделяется 6 потоков для каждой таблицы это нормально?

Alexey
03.05.2017
06:37:04
16 мая состоится митап в Екатеринбурге: https://events.yandex.ru/events/meetings/16-may-2017/ Если вы рядом - регистрируйтесь, приглашайте друзей. Будет интересно :)

Shine
03.05.2017
07:14:59
похоже без трансляции и записи

Alexey
03.05.2017
07:16:08
Насколько я знаю - да.

Sergii
03.05.2017
09:13:04
Всем привет, а то что для ReplicatedReplacingMergeTree выделяется 6 потоков для каждой таблицы это нормально?
Я немножко поэкспериментировал с созданем таблиц на оснвании ReplicatedReplacingMergeTree и обнаружил, что для каждой таблицы с этим движком выделяется 6 потоков. Хотелось бы узнать это нормальное поведение? И если да, то почему так, для чего это делается? Вопрос скорее к разработчикам @milovidov_an

Alexey
03.05.2017
09:28:50
я не разработчик, но чтоб понять ваше беспокойства (планирую использовать тот же тип движка) несколько уточняющих вопросов к вам: 1. Для других типов (например просто ReplicatedMergeTree) сколько выделяется потоков? 2. Даже если потоков больше на 1-2 (возможно нужны для поиска повторов или еще чего-то) считаете ли вы это проблемой? Или это скорее просто любопытсво по внутреннему стройству движков?

Sergii
03.05.2017
09:43:16
1. Для ReplicatedMergeTree выделяется тоже 6 потоков. Для остальных типов не смотрел. 2. Да, к сожалению для нас это проблема, т.к. у нас создается достаточно много таблиц и кликхаус отваливается, так как ему не хватает потоков, поэтому и хотелось бы узнать почему это так :)

Alex
03.05.2017
09:44:54
Всем привет. Назрел вопрос по индексам в мердж три. Я так понимаю они не работают по отдельности? А работают потипу как партишен кей в кассандре? Что бы всё работало верно - надо указывать в правильном порядке? Т.к. есть к примеру CampID, я вношу его в индекс после EventDate и когда делаю выборку по нему - всё равно клик хаус проходит через всез записи в базе

Есть ли возможность сделать как-то "привычные" индексы?

Andrey
03.05.2017
09:47:30
Привычных нет. Есть ключ и поле с датой. Поле с датой для партиций. Ключ для сортировки данных.

Тут очень подробно про ключ. https://groups.google.com/forum/#!searchin/clickhouse/%D0%B8%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%7Csort:relevance/clickhouse/eUrsP30VtSU/p4-pxgdXAgAJ

Или тут на англ: https://medium.com/@f1yegor/clickhouse-primary-keys-2cf2a45d7324

Alexey
03.05.2017
10:01:15
стараются делать одну большую (разряженную) таблицу

Alex
03.05.2017
10:02:51
Ага, спасибо большое. Пойду читать

Sergii
03.05.2017
10:18:18
стараются делать одну большую (разряженную) таблицу
Я понимаю о чем вы, но сейчас у нас такое решение и по-другому пока не очень получается развернуть систему(в виду определнных ограничений)

Andrey
03.05.2017
10:26:26
Добрый день. А есть ли возможность удалять партишены из материализованных представлений?

Google
Andrey
03.05.2017
10:52:37
Вопрос снят. Другой вопрос: насколько безопасно завязывать чистку партишенов на .inner.* таблицы, лежащие под представлениями? Насколько велик шанс, что их названия поменяются в будущих версиях?

Kirill
03.05.2017
15:28:49
Почему при простом select * из Distributed table могу получать "Unknown identifier: valid"? где valid тип UInt8

Вася
03.05.2017
15:33:32
Почему при простом select * из Distributed table могу получать "Unknown identifier: valid"? где valid тип UInt8
Стоит проверить совпадают ли колонки у Distributed и у табличек на которые она смотрит.

Дмитрий
03.05.2017
15:35:45
Подскажите а репликация через zookeeper это временное решение?

Дмитрий
03.05.2017
15:37:08
Есть ли планы сделать репликацию без использования zookeeper?

Или он с clickhouse всерьез и надолго

Pavel
03.05.2017
15:40:02
тоже хейтите яву?)

Igor
03.05.2017
15:41:24
кто-то внедрял zetcd вместо zookeeper в чате. и поддержку consul просили

Alexey
03.05.2017
15:46:15
вот если бы разработчики провоидили какой-нибудь опрос/голосование, то я бы поставил пункт "избавиться от zookeeper" в последним в списке! Тем более если он работает и выполняет свои функции.

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

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

Igor
03.05.2017
15:49:33
не думаю, что в todo у яндекса пункт "избавиться от zookeeper" вообще есть, с учетом того, что они его внутри активно используют %)

Pavel
03.05.2017
15:51:10
haters must hate :)

+1 за zetcd

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