@clickhouse_ru

Страница 248 из 723
Konstantin
01.09.2017
07:49:08
не -- recv, а --recv
убрал пробел - лучше не стало =(



ключ не прописался, вывод немного намекает на это
это я вроде понял, я не знаю как это вылечить

Vladislav
01.09.2017
07:51:08


Google
Vladislav
01.09.2017
07:52:11
ключ не верный, внимательнее

Fike
01.09.2017
07:52:20
Семь символов. В ключе восемь.

Konstantin
01.09.2017
07:53:34
действительно, глаз замылился уже. Спасибо большое!!!

Stas
01.09.2017
08:33:55
А как CREATE MATERIALIZED VIEW работает с ключом? Т.е у родительской таблицы есть колонки которые описаны в ключе для быстрой выборки, а в материализованном вью как будет?

И вообще вопрос про этот тип, как лучше - делать его или считать налету?

Vladislav
01.09.2017
09:03:25
подскажите, пожалуйста, с чем может быть связана ошибка: Received exception from server: Code: 194. DB::Exception: Received from host1, IP. DB::Exception: Received from host2, IP. DB::Exception: Password required for user default. Появилась после апдейта CH, таблицы реплицируемые, выполняется альтер. На одной реплике отрабатывает, на другой всегда ругается, что нет пароля.

Александр
01.09.2017
09:12:36
А как CREATE MATERIALIZED VIEW работает с ключом? Т.е у родительской таблицы есть колонки которые описаны в ключе для быстрой выборки, а в материализованном вью как будет?
Материлизованное представление наполняется тригеррами. Например есть у вас запрос типа select count() as result, date from table group by date. При вставке данных в таблицу table сработает триггер и на сколько я помню запрос будет применен на поступивший блок данных и результат запроса будет записан в материализованное представление.

Alex
01.09.2017
09:34:40
Приветствую. Хочу понять, будет ли работать придуманная конфигурация. Условия задачи: 1.) Есть два датацентра, в каждом - инсталляция CH 2.) Хотим _в пределах дц_ репликацию между хостами (ReplicatedReplacingMergeTree) 3.) Хотим писать данные в каждом дц в Distributed таблицу над реплицированными 4.) Хотим читать данные с обоих дц через Distributed таблицу Конфигурация: https://gist.github.com/alex-krash/e33aafa298c6918565618c71cc53e8d7

Konstantin
01.09.2017
09:56:23
еще 1 нубский вопрос =) есть таблица - в ней 1 столбец список ip в виде int, пытаюсь сделать select с другой таблицей где есть столбцы начало диапазона (int), конец диапазона(int), город. в mysql получается в CH нет. чтяднт?

SELECT list.ip, geo.city FROM list, geo WHERE list.ip BETWEEN geo.start AND geo.end выдает - Unknown indentifier: geo.start

Andrew
01.09.2017
10:00:40
Приветствую. А подскажите, вот на примере, скажем, Метрики. Есть таблица Визитов и Просмотров. Визиты как-то из Просмотров аггрегируются или пишутся отдельно, собираясь в каком-то менеджере сессий? Пробую делать подобную аггрегацию через MATERIALIZED VIEW и AggregatingMergeTree, но из-за того, что нужно делать доаггрегацию, работает все очень медленно. Идея в том, чтобы записывать только Просмотры, а представление их сразу в Визиты группировало и сохраняло.

Mike
01.09.2017
11:13:51
О, я это уже спрашивал ?

В итоге мы храним в редисе кеш визитов

Google
x
01.09.2017
11:16:49
Заметил интересную фичу - если для генерации строчки password_sha256_hex использовать "echo pwd | sha256sum | tr -d '-'" (без -n, т.е. с символом новой строки на конце), то пароль в одном случае принимается - если делать GET запрос с basic http авторизацией

Andrew
01.09.2017
11:17:31
ну еще вариант есть использовать SummingMergeTree в представлении, сейчас ковыряем этот вариант, но разработчикам то наверняка виднее как правильно делать.

x
01.09.2017
11:18:35
POST запрос уже не проходит авторизацию. ну и при указании логина/пароль в GET параметрах тоже не проходит. Вроде не баг, но с толку сбивает.

Nikolai
01.09.2017
11:38:56
SELECT list.ip, geo.city FROM list, geo WHERE list.ip BETWEEN geo.start AND geo.end выдает - Unknown indentifier: geo.start
SELECT list.ip, geo.city, geo.start, geo.end FROM list, geo WHERE list.ip BETWEEN geo.start AND geo.end такой срабатывает?

Андрей
01.09.2017
11:42:34
Может кто сталкивался с подобной ситуацией. clickhouse-server в лог файле полностью не протоколирует большие SELECT-ы. Возможно данное ограничение отключить? Пробовал с различными настройками <logger><level>trace</level></logger> и <logger><level></level>debug</logger>. Например при размере SELECT-а более 100518 символов, запрос протоколируется и обрезается после 100518 символа.

Александр
01.09.2017
11:59:23
Наткнулся на странное поведение. SELECT * FROM videoStatements ┌─learnerId─┬─videoId─┬─Range─┐ │ 1 │ test │ [0,3] │ └───────────┴─────────┴───────┘ ┌─learnerId─┬─videoId─┬─Range──┐ │ 1 │ test │ [6,10] │ └───────────┴─────────┴────────┘ 2 rows in set. Elapsed: 0.002 sec. :) select range(Range[1]) as fullRange from videoStatements SELECT range(Range[1]) AS fullRange FROM videoStatements ┌─fullRange─┐ │ [] │ └───────────┘ ┌─fullRange─────┐ │ [0,1,2,3,4,5] │ └───────────────┘

По идее должно быть две строки с [0,1,2] и [0,1,2,3,4,5]

SELECT Range[1] FROM videoStatements ┌─arrayElement(Range, 1)─┐ │ 0 │ └────────────────────────┘ ┌─arrayElement(Range, 1)─┐ │ 6 │ └────────────────────────┘

Движок Memory

Nikolai
01.09.2017
12:03:03
Почему должно получаться [0,1,2] ?

Александр
01.09.2017
12:05:27
Блин...мой косяк. Array indices is 1-based

Не знал про это )

Edya
01.09.2017
12:09:26
Народ, кто-нибудь уже пробовал использовать Clickhouse, как источник данных для Tableau?

Phil
01.09.2017
13:36:27
Да-да, а то у нас заказчик хочет Вертику, так как Tableau не работает с CH, а редаш его по интерфейсу не устроил.

Sergei
01.09.2017
13:38:56
Подскажите пожалуйста как суммировать точно флоаты А то каждый раз разный результат

Ilyas
01.09.2017
13:41:13
суммировать флоаты "точно" - никак, храните интом

>> А то каждый раз разный результат а вот это подозрительно

Nikolai
01.09.2017
13:44:10
это нормально. при разном порядке суммирования может получаться разный результат

Dmitry
01.09.2017
14:07:26
кто-то проверял, работает ли кластер кх, когда узлы за натом?

Google
Павел Максимов
01.09.2017
14:24:34


Tima
01.09.2017
14:26:05
Date DEFAULT "ЗНАЧЕНИЕ" https://clickhouse.yandex/docs/ru/query_language/queries.html?highlight=default

Павел Максимов
01.09.2017
14:29:43
Date DEFAULT "ЗНАЧЕНИЕ" https://clickhouse.yandex/docs/ru/query_language/queries.html?highlight=default
как его правильно указать, ошибка выходит, если так: Date DEFAULT toDate(Date)

Tima
01.09.2017
14:30:46
Date DEFAULT today()

Хотя возможно и без скобок сработает

Павел Максимов
01.09.2017
14:33:45


Tima
01.09.2017
14:34:58
Date DEFAULT today()
Добавить скобочки

Вот пример https://github.com/yandex/ClickHouse/blob/1d836b2bf8fef378d47258957ff74ed3a4aff136/dbms/tests/queries/0_stateless/00158_buffer_and_nonexistent_table.sql

Диана
01.09.2017
15:48:39
Всем привет, не подскажите, как через tabix csv-файл вставить в таблицу? Пробовала INSERT INTO ads.gender_urls FORMAT CSV gender_urls_result.csv предварительно загрузив файл, пишет DB::Exception: Cannot parse input: expected , at end of stream.: (at row 1)

Tatiana
01.09.2017
17:44:08
SELECT list.ip, geo.city FROM list, geo WHERE list.ip BETWEEN geo.start AND geo.end выдает - Unknown indentifier: geo.start
ClickHouse не поддерживает такой синтаксис https://clickhouse.yandex/docs/ru/query_language/queries.html#select

Alexey
01.09.2017
19:49:32
и еще один вопрос, кликхаус за натом без проблем будет работать? Если я решу таким образом проблему смену IP у ноды
Должен нормально работать. Но я бы не рекомендовал использовать такое сложное решение ради простой задачи.

а если писать напрямую в шарды, то догонит? или я не правильно понял смысл пункта 2?
Если писать напрямую в шарды, то проблем нет - данные сразу попадают куда надо.

а проверить попадание точки в полигон?
Та самая штука, которую мы сейчас делаем - это и есть point in polygon :)

А как правильнее (ID) или (Date,ID) ?
По Date нет полноценного индекса - только min/max значения для отсечения целых кусков данных. Если в запросах будут условия на Date, то надо иметь её в первичном ключе, если нет - то бесполезно. Порядок тоже важен. (ID, Date) лучше, когда выбираете один ID и диапазон Date. Наоборот (Date, ID) лучше, когда выбираете одну Date и множество/диапазон ID.

И вообще вопрос про этот тип, как лучше - делать его или считать налету?
Если нет проблем с производительностью при подсчёте налету, или если иначе вам пришлось бы создавать очень много разных MAT. VIEW, то лучше считать налету.

А как CREATE MATERIALIZED VIEW работает с ключом? Т.е у родительской таблицы есть колонки которые описаны в ключе для быстрой выборки, а в материализованном вью как будет?
Работает с ключом ровно так, как вы пропишите в движке таблицы для MAT. VIEW. (Для MAT. VIEW можно прописать произвольный движок таблицы.)

Stas
01.09.2017
19:56:39
Dmitry
01.09.2017
19:59:07
Должен нормально работать. Но я бы не рекомендовал использовать такое сложное решение ради простой задачи.
Спасибо за ответ. Все муки из за попытки заставить работать отказоустойчивый кластер clickhouse в kubernetes

Google
Alexey
01.09.2017
19:59:35
подскажите, пожалуйста, с чем может быть связана ошибка: Received exception from server: Code: 194. DB::Exception: Received from host1, IP. DB::Exception: Received from host2, IP. DB::Exception: Password required for user default. Появилась после апдейта CH, таблицы реплицируемые, выполняется альтер. На одной реплике отрабатывает, на другой всегда ругается, что нет пароля.
Если эта ошибка появилась после апдейта ClickHouse, то это значит, что при апдейте были изменены конфиги пользователей (users.xml) и в них как-то изменились права доступа. Хотя конфиг по-умолчанию из пакета разрешает доступ пользователю default без пароля. Можно посмотреть на конкретном сервере, откуда приходит ошибка, почему он не разрешает пользователю default соединиться. Кстати, для удобства обновлений, можно держать оригинальные конфиги из пакета без изменений, а все изменения прописывать в отдельных файлах в conf.d, users.d директориях. Так ещё и проще следить за множеством изменений.

Спасибо за ответ. Все муки из за попытки заставить работать отказоустойчивый кластер clickhouse в kubernetes
У нас в следующем релизе будет команда для сброса DNS кэшей (Запрос SYSTEM DROP DNS CACHE). (По SIGHUP пока не предусмотрено.)

Приветствую. Хочу понять, будет ли работать придуманная конфигурация. Условия задачи: 1.) Есть два датацентра, в каждом - инсталляция CH 2.) Хотим _в пределах дц_ репликацию между хостами (ReplicatedReplacingMergeTree) 3.) Хотим писать данные в каждом дц в Distributed таблицу над реплицированными 4.) Хотим читать данные с обоих дц через Distributed таблицу Конфигурация: https://gist.github.com/alex-krash/e33aafa298c6918565618c71cc53e8d7
Да, такая конфигурация возможна. Я только не понял, вы хотите чтобы разные ДЦ содержали разные данные (были "шардами") или одинаковые (были "репликами"). В зависимости от этого, нужно прописать конфигурацию в remote_servers для "unioned" кластера (в примере прописано как два шарда - это значит, что Distrbuted таблица при SELECT пойдёт в оба ДЦ, выберет в каждом по одной реплике, и объединит разные данные).

Shine
01.09.2017
20:06:54
Алексей, подскажите, а как дела с фичей, которая позволит запрашивать внешние таблицы (из других бд), как таблицы кх, аля fdw ? Вы говорили, что вроде кто-то у вас такое пытается сделать. Возможно, что в ближ перспективе появится ?

Alexey
01.09.2017
20:07:12
еще 1 нубский вопрос =) есть таблица - в ней 1 столбец список ip в виде int, пытаюсь сделать select с другой таблицей где есть столбцы начало диапазона (int), конец диапазона(int), город. в mysql получается в CH нет. чтяднт?
Да, такой JOIN сделать не получится. Но можно по-другому. Специально для работы с диапазонами IP адресов есть словарь ip_trie: https://clickhouse.yandex/docs/en/dicts/external_dicts.html#ip-trie

POST запрос уже не проходит авторизацию. ну и при указании логина/пароль в GET параметрах тоже не проходит. Вроде не баг, но с толку сбивает.
Это весьма необычно. Даже трудно предположить - неужели клиент пробует отправить пароль с добавленным символом перевода строки на конце. Разбираться пока не буду.

Может кто сталкивался с подобной ситуацией. clickhouse-server в лог файле полностью не протоколирует большие SELECT-ы. Возможно данное ограничение отключить? Пробовал с различными настройками <logger><level>trace</level></logger> и <logger><level></level>debug</logger>. Например при размере SELECT-а более 100518 символов, запрос протоколируется и обрезается после 100518 символа.
Так и есть. Настройка log_queries_cut_to_length по-умолчанию, 100000. Влияет как на логгирование в текстовый лог сервера, так и на query_log. Сделано, чтобы query_log не был слишком уж большим. Вы можете увеличить эту настройку по своему усмотрению. users.xml

Рулон
01.09.2017
20:20:40
Коллеги! Есть много csv файлов какой оптимальный способ загрузки? Неужели clickhouse-client --query=???

Alexey
01.09.2017
20:25:18
clickhouse-client --query="INSERT INTO table FORMAT CSV" весьма оптимально загружает данные, если рассматривать загрузку в один поток. Можно быстрее, если запустить несколько таких загрузок параллельно. Если файлы маленькие, то можно склеить с помощью cat.

Alexey
01.09.2017
20:32:38
Нет, так и не выбрали.

Рулон
01.09.2017
20:34:15
А что нужно? Мне бы очень хотелось хоть чем то помочь )

Я могу развернуть на pythonanywhere )

Alexey
01.09.2017
20:37:41
Пока ещё не знаю. Главное - максимальное простое добавление новых Q&A, буквально парой кликов. Поэтому GitHub отпадает. Сейчас создал задачу Выбрать способ держать на официальном сайте базу вопросов и ответов. Требования: - максимальное простой способ добавления записи, буквально парой кликов (copy-paste из чата). Во вторую очередь: - возможность добавления записи пользователями; - теги, рейтинг и упорядочивание.

Google
Konstantin
02.09.2017
04:44:43
подскажите, пожалуйста, (со словарями еще не работал) такая структура правильная?



и должен ли тогда словарь сразу появится в КХ по запросу SELECT * FROM system.dictionaries?

Maksim
02.09.2017
06:29:02
да, почти сразу появится

если будет ошибка в конфиге, кликхаус напишет тебе в лог

так что пиши, не стесняйся, ничего не сломаешь

Konstantin
02.09.2017
06:54:49
Ошибок нет. Но словарь не появляется =(

Alexey
02.09.2017
14:20:02
Привет. А можно ли как-то управлять лидер-репликами? Если лидер уходит в "медленный" датацентр, все встаёт колом.

Привет. Да, недавно сделали. https://github.com/yandex/ClickHouse/blob/master/CHANGELOG.md ... Added new settings for MergeTree engines (the merge_tree section in config.xml): ... replicated_can_become_leader can prevent a replica from becoming the leader (and assigning merges).

Ошибок нет. Но словарь не появляется =(
Можно проверить соответствие пути к файлу и параметру dictionaries_config в config.xml

То есть надо поставить replicated_can_become_leader в 0 на конкретной реплике, правильно я понял?

Да. config.xml, в <merge_tree>.

Алексей
02.09.2017
19:57:26
Господа, 9ый дебиан мимо да ?

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