@clickhouse_ru

Страница 548 из 723
Stas
04.06.2018
10:25:48
гопсода, я туплю, как сделать Merge таблицу корректно? в мануале нет примера: пытаюсь так CREATE TABLE db.table1 AS db.table1 ENGINE = Merge(db, '^.*prefix.*$');

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

Evgeny
04.06.2018
11:06:57
ваще было бы неплохо, а то от ругани на синтаксис в глазах рябит :)
Ага, хочется как раз нормальной подсветки (без ошибок). Судя по документу, можно будет как минимум нормальную подсветку получить.

Sergey
04.06.2018
12:21:02
В КХЛ сейчас работает Update и Delete? В Roadmap заявлено на 1 квартал этого года

Google
Wolf
04.06.2018
12:25:37
нет

Kirill
04.06.2018
12:29:32
https://repo.yandex.ru/clickhouse/ , кстати, там еще rpm появились

Павел Максимов
04.06.2018
14:47:30
Подскажите, как исправить ошибку: Code: 386, e.displayText() = DB::Exception: There is no supertype for types UInt64, String because some of them are String/FixedString and some of them are not, e.what() = DB::Exception Появляется при слиянии двух запросов через UNION ALL. По отдельности они работают.

?
04.06.2018
15:07:13
а когда в логах много-много подобных сообщений Removing part from filesystem all_154156_185096_19794 это штатная ситуация? а то пришлось его перегрузить форсировано, теперь не могу дождаться пока словари обновятся

?
04.06.2018
15:18:03
вот он вроде закончил это делать. данные в сохранности?

Kirill
04.06.2018
15:18:54
вот он вроде закончил это делать. данные в сохранности?
А, он еще старые куски после мержей так удаляет, у вас ведь в DEBUG?

?
04.06.2018
15:19:29
не совем понял вопрос. смотрю логи в clickhouse-server.log

Kirill
04.06.2018
15:20:13
У вас у логов режим DEBUG, он туда все пишет.

Google
?
04.06.2018
15:22:28
<logger> <level>trace</level>

Kirill
04.06.2018
15:22:54
<logger> <level>trace</level>
Да, всё нормально

?
04.06.2018
15:23:02
ага, понял, спасибо

Anton
04.06.2018
15:23:08
это ещё более подробно, читайте логи ищите ошибки

КХ просто так ничего не ломает, как правило ?

Kirill
04.06.2018
15:24:05
Надо в лог дописать что это старые куски, чтоб не пугаться

?
04.06.2018
15:24:33
ну я там поменял структуру большой таблицы к которой был привязан словарь, он захлебнулся при релоаде, когда форсированно закрыл – началось такое, но уже выправилось

Anton
04.06.2018
15:24:39
для старых кусков он же пишет "removing them from zk" дополнительно

Kirill
04.06.2018
15:28:53
для старых кусков он же пишет "removing them from zk" дополнительно
Их может и не быть в ZK, а пишет он вот ровно то что и написано выше (https://github.com/yandex/ClickHouse/blob/9b285c91b001c35ab0b3b5a7352b51e095013b7d/dbms/src/Storages/MergeTree/MergeTreeData.cpp#L764)

Gubaydullin
04.06.2018
20:07:56
Добрый вечер. Пытаюсь прокинуть в подзапрос данные основного запроса, выдается ошибка DB::Exception: Unknown identifier: hit.created_date SELECT sum(CASE WHEN hit.preland_reached_at IS NOT NULL THEN sign * 1 ELSE 0 END) AS preland_hits, toDate(created_time, 'UTC') AS days, (select sum(CASE WHEN lead.is_valid = 1 THEN sign * 1 ELSE 0 END) FROM lead WHERE lead.created_date = hit.created_date) AS leads_valid FROM hit WHERE toDate(created_time, 'UTC') BETWEEN '2013-01-01' AND '2013-01-02' GROUP BY days HAVING SUM(sign) > 0 ORDER BY days DESC LIMIT 50 FORMAT JSON; в чем может быть ошибка?

Александр
04.06.2018
20:37:08
Такие штуки в кх не работают :)

Gubaydullin
04.06.2018
20:38:12
нельзя прокинуть в подзапрос таблицу главного запроса?

Denis
04.06.2018
23:32:04
нельзя прокинуть в подзапрос таблицу главного запроса?
на основе таблицы lead можно сделать dictionary, тогда будет все тоже самое.

Nik
05.06.2018
07:43:06
Обнаружил проблему в clickhouse-server:1.1.54383, если удалить таблицу в которую пишет материализованная View считывающая с таблицы настроенную на Kafka, то сервер перестает обрабатывать входящие запросы на получение данных. В логах сервер постоянно пишет что DB.Kafka не может записать в таблицу которой нет. Помогает только ручное удаление материализованного View в каталоге метаданных и перезапуск clickhouse-server. В ранних версиях КХ такой проблемы небыло.

Константин
05.06.2018
07:48:22
Добрый день! Народ, скажите, использовал ли кто-то https://github.com/Infinidat/infi.clickhouse_fdw ?

Stas
05.06.2018
08:48:40
chproxy режет параметр поднятия памяти, никто не сталкивался? как жить?

Roman
05.06.2018
08:54:00
chproxy режет параметр поднятия памяти, никто не сталкивался? как жить?
chproxy режет все гет-параметры кроме https://github.com/Vertamedia/chproxy/blob/master/scope.go#L291

Stas
05.06.2018
08:54:29
chproxy режет все гет-параметры кроме https://github.com/Vertamedia/chproxy/blob/master/scope.go#L291
а как поднять количество памяти через него? никак?

жалко что в конфиге нельзя прописать тогда...

Google
Roman
05.06.2018
08:58:46
Передачей параметров можно поднять и другие лимиты, вроде execution_time, обойдя таким образом предустановленные настройки и, возможно, повлияв на работоспособность КХ. КХПрокси должен стоять между КХ и пользователем (графаной, приложением), а значит от них не ожидается передачи дополнительных параметров.

Т.е. случай, когда Вам нужно поднять лимит на память - исключительный и не должен быть частью работы Вашего приложения.

Aliaksandr
05.06.2018
09:00:30
Может, добавить дополнительгый параметр на уровне пользователей chproxy, разрешающий проксирование произвольных аргументов в кликхаус?

Наподобие hack_me_please

Т.к. это часто встречающийся вопрос от пользователей chproxy

Roman
05.06.2018
09:22:26
Наподобие hack_me_please
На мой взгляд, решение задачи путем установки параметра с названием "hack_me" может быть только временным или с целью отладки. Я понимаю, что "задачей" в данном случае является искуственное ограничение прокси, которое было добавлено только по соображениям авторов. Но все же, если приложение/пользователь требует передачи параметров меняющих настройки КХ, то более правильным будет создать для него отдельный профиль с нужной конфигурацией.

Triborg
05.06.2018
09:25:37
Всем привет! У меня есть AggregatingMergeTree (3мрлд записей), там хранятся агрегаты по дням. Например там статистика по количеству показов видео, агрегированная по дням. Мне нужно в Postgres, на основании этого агрегата, сохранить для каждого видео общее количество его показов, за всё время. Как это сделать максимально быстро?

Александр
05.06.2018
11:11:30
На мой взгляд, решение задачи путем установки параметра с названием "hack_me" может быть только временным или с целью отладки. Я понимаю, что "задачей" в данном случае является искуственное ограничение прокси, которое было добавлено только по соображениям авторов. Но все же, если приложение/пользователь требует передачи параметров меняющих настройки КХ, то более правильным будет создать для него отдельный профиль с нужной конфигурацией.
Вот мне не понятно почему люди сами себе создают ограничения, а потом умничают на тему: вам не надо так делать! Откуда кто знает как мне надо делать? Никто кроме меня не знает потребностей моего приложения и почему ему нужно передавать параметр, который лимит памяти поднимает. Простите за эмоции, но бесит уже.

Wolf
05.06.2018
11:15:21
в этом и прелесть опенсоурса , взял и подпилил сам

Александр
05.06.2018
11:22:33
Я не про то, что люди не могут дописать, а про то, что сами создают ограничения и сами потом с ними мучаются. Зачеееем? :)

Wolf
05.06.2018
11:25:04
ну они написали для себя , у них нет таких проблем и ограничений

или это ограничение им во спасение

Дмитрий
05.06.2018
12:01:54
Добрый день, подскажите пожалуйста стоит ли менять рамер партиции. Обьем данных 1ард в месяц, 40-50 лимонов в день. Запросы в базу в основном недельные, на 2 месте по частоте однодневные и потом месячные. Сейчас есть возможность рефакторнуть создание таблицы. Но протестить такое самому довольно сложно. Будет ли профит. Если я уменьшу размер до недельной или дневной?

Nik
05.06.2018
12:43:51
Повторю еще раз - Обнаружил проблему в clickhouse-server:1.1.54383, если удалить таблицу в которую пишет материализованная View считывающая с таблицы настроенную на Kafka, то сервер перестает обрабатывать входящие запросы на получение данных. В логах сервер постоянно пишет что DB.Kafka не может записать в таблицу которой нет. Помогает только ручное удаление материализованного View в каталоге метаданных и перезапуск clickhouse-server. В ранних версиях КХ такой проблемы небыло. Стек ошибки: 2018.06.05 12:36:00.182085 [ 12 ] &lt;Error&gt; void DB::StorageKafka::streamThread(): Code: 60, e.displayText() = DB::Exception: Table default.Test doesn't exist., e.what() = DB::Exception, Stack trace: 0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x47bb506] 1. clickhouse-server(DB::Exception::Exception(std::string const&amp;, int)+0x1f) [0x263aeff] 2. clickhouse-server(DB::Context::getTableImpl(std::string const&amp;, std::string const&amp;, DB::Exception*) const+0x2ef) [0x40a1c9f] 3. clickhouse-server(DB::Context::getTable(std::string const&amp;, std::string const&amp;) const+0x5f) [0x40a201f] 4. clickhouse-server(DB::StorageMaterializedView::write(std::shared_ptr&lt;DB::IAST&gt; const&amp;, DB::Settings const&amp;)+0x34) [0x453d314] 5. clickhouse-server(DB::PushingToViewsBlockOutputStream::PushingToViewsBlockOutputStream(std::string const&amp;, std::string const&amp;, std::shared_ptr&lt;DB::IStorage&gt; const&amp;, DB::Context const&amp;, std::shared_ptr&lt;DB::IAST&gt; const&amp;, bool)+0x303) [0x43c7bf3] 6. clickhouse-server(DB::PushingToViewsBlockOutputStream::PushingToViewsBlockOutputStream(std::string const&amp;, std::string const&amp;, std::shared_ptr&lt;DB::IStorage&gt; const&amp;, DB::Context const&amp;, std::shared_ptr&lt;DB::IAST&gt; const&amp;, bool)+0x557) [0x43c7e47] 7. clickhouse-server(DB::InterpreterInsertQuery::execute()+0x209) [0x40e2739] 8. clickhouse-server(DB::StorageKafka::streamToViews()+0x642) [0x4531952] 9. clickhouse-server(DB::StorageKafka::streamThread()+0x146) [0x4531e46] 10. clickhouse-server() [0x4c3db9f] 11. /lib64/libpthread.so.0(+0x7e25) [0x7f7c492c4e25] 12. /lib64/libc.so.6(clone+0x6d) [0x7f7c48ae8bad]

Дмитрий
05.06.2018
12:58:40
Благодарю за ответы

Google
Kirill
05.06.2018
13:33:17
Всем привет. Есть какой-нибудь способ при выборке с group by трансформировать строки в столбцы? Например, есть таблица со следующей структурой event = money|impressions partner_id impressions currency revenue На выходе запроса необходимо получить следующие столбцы. partner_id impressions revenue_currency_USD revenue_currency_EUR revenue_currency_RUB Список валют (USD,EUR...) заранее известен и фиксирован.

Mark
05.06.2018
13:35:27
привет всем. Кто пожключал к tableau clickhouse через sparksql?

Kirill
05.06.2018
13:43:56
Stas
05.06.2018
13:48:03
Вот и добавте лимиты пользователю КХ
Редактировать конфиг каждого узла в кубике сложнее чем в одном месте за пределами кластера..

Kirill
05.06.2018
13:53:08
Редактировать конфиг каждого узла в кубике сложнее чем в одном месте за пределами кластера..
Зато дыру с возможностью задавать рандомные параметры сервера наружу открыть - это "тру вэй"

Stas
05.06.2018
13:54:17
Зато дыру с возможностью задавать рандомные параметры сервера наружу открыть - это "тру вэй"
Ну у меня далее стоит фаервол который только определенный список ip пускает (и это все во внутренней сети естественно)

Сейчас в планах поставить до этого ещё nginx+ldap

Так, что оптимальный вариант имхо - указывание параметров в конфиг chproxy...

Alexander Nairashvili
05.06.2018
13:56:37
Добрый день, почему при некоторых запросах в distributed таблицы вывод получается "рваным" по несколько строк? И почему order by частично склеивает эти куски (остается несколько сплитов)? У нас есть подозрение что в нашем запросе runningdifference ломается из-за этих разрывов, но пока не можем понять что происходит.

Alexander Nairashvili
05.06.2018
14:00:04
КХ данные блоками отдает по мере получения, можете все это обернуть в SELECT * FROM ( SELECT * FROM distributed) и будет - ОК
мы так и сделали, + прикрутили в конце order by timestamp - всё равно остается как минимум 1 сплит

split каждые 65536 срок

Alexander
05.06.2018
14:05:05
split каждые 65536 срок
set max_block_size побольше

Aliaksandr
05.06.2018
14:16:51
Ну у меня аккаунтинг и load balancing сделан через chproxy, и было бы хорошо иметь разные лимиты для разных Логинов например: графане не нужно много памяти, а переодически отчетам которые идут по крону и хотят 170-300GB Ram - надо
Так создайте в кликхаусе разных юзеров для разных типов звпросов, укажите в конфиге кликхауса ограничения по памяти для каждого юзера и проксируйте запросы для этих юзеров через chproxy, где можете установить дополнительные ограничения, отсутствующие в кликхаусе - например, максимальное количество одновременно исполняющихся запросов на кластере

Так, что оптимальный вариант имхо - указывание параметров в конфиг chproxy...
Вроде нормальный вариант. @hagen1778 , попробуешь сделать, чтобы можно было задавать произвольный набор параметров для передачи в кликхаус от каждого юзера в chproxy?

Google
Aliaksandr
05.06.2018
14:21:56
Только нужно продумать, как это сделать, чтобы было легко конфигурировать. Может, как с сетями и кэшами - указываешь именованные наборы парвметров в одном месте, а потом на них ссылаешься из конфига юзера?

Kirill
05.06.2018
14:57:29
Добрый день! Я правильно понимаю, что из-за ENTRYPOINT exec /usr/bin/clickhouse-server --config=${CLICKHOUSE_CONFIG} в yandex/clickhouse-server Dockerfile при использовании его в docker-compose невозможно выполнить command, т.к. шелл уже занят процессом после запуска червера ? Кто-то решал подобную проблему ?

Kirill
05.06.2018
15:06:30
Хочется на запуске автоматически прокидывать словари) Спасибо

Алексей
05.06.2018
15:07:26
это удобней наверно через docker-compose делать

Kirill
05.06.2018
15:08:05
Roman
05.06.2018
15:16:27
Только нужно продумать, как это сделать, чтобы было легко конфигурировать. Может, как с сетями и кэшами - указываешь именованные наборы парвметров в одном месте, а потом на них ссылаешься из конфига юзера?
да, хорошая идея. Это позволит описывать использовать одну конфигурацию на прокси, вместо редактирования конфига всех нод в кластере. Я посмотрю, что можно сделать

Kirill
05.06.2018
15:19:58
* клик не крутится в докере, это только на машинке для разработки / прогона тестов сервиса

Kirill
05.06.2018
16:33:51
У вас клик наружу торчит?)
Нет, у нас в КХ "ручками" только аналитик ходит, обычные пользователи через API. Соответственно есть 3-и профиля: api, worker (тот кто пишет и пересчитывает стату) и analytics. У всех разные лимиты.

Alexander Nairashvili
05.06.2018
16:34:26
set max_block_size побольше
Спасибо, помогло, но в нашей выборке, чтобы runningdifference не сломался надо max_block_size поднимать до 1mln+? в память мы вроде не упираемся, но интересуют последствия такой настройки. Есть ли возможность(хак) во внешнем селекте завершать блок на нужной строке(контролировать в какой строке завершать блок, например по where), чтобы runningdifference не ломался?

Alexander Nairashvili
05.06.2018
16:44:11
Можно в конце запроса дописывать SETTINGS max_block_size = ваше число.
Ok, спасибо, попробуем, а ваша go библиотека может в SETTINGS? надо права доступа 2 или достаточно ro?

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