
Konstantin
01.09.2017
07:49:08

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

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 параметрах тоже не проходит. Вроде не баг, но с толку сбивает.

Mike
01.09.2017
11:31:25

Nikolai
01.09.2017
11:38:56

Андрей
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

Tima
01.09.2017
14:30:46
Date DEFAULT today()
Хотя возможно и без скобок сработает

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

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

Павел Максимов
01.09.2017
14:37:50

Диана
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

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


Stas
01.09.2017
19:56:39

Dmitry
01.09.2017
19:59:07

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 директориях. Так ещё и проще следить за множеством изменений.


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

Alexey
01.09.2017
20:07:12
Приветствую. А подскажите, вот на примере, скажем, Метрики. Есть таблица Визитов и Просмотров. Визиты как-то из Просмотров аггрегируются или пишутся отдельно, собираясь в каком-то менеджере сессий?
Пробую делать подобную аггрегацию через MATERIALIZED VIEW и AggregatingMergeTree, но из-за того, что нужно делать доаггрегацию, работает все очень медленно.
Идея в том, чтобы записывать только Просмотры, а представление их сразу в Визиты группировало и сохраняло.
Визиты в Метрике вычисляются не из данных в ClickHouse, а с использованием отдельной структуры данных (базы), которая для этого сделана. В ClickHouse пишется результат - лог изменений визитов.
Это всё потому что считать визиты сложно.


Рулон
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.

Рулон
01.09.2017
20:31:01
А уже выбрали инструмент, где можно выкладывать, такие вот советы и рекомендации. В чате их набралось уже достаточно

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 из чата).
Во вторую очередь:
- возможность добавления записи пользователями;
- теги, рейтинг и упорядочивание.

Mike
01.09.2017
21:35:04
Для истории :)

Alex
01.09.2017
23:03:03

Google

Андрей
02.09.2017
02:16:42

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).
То есть надо поставить replicated_can_become_leader в 0 на конкретной реплике, правильно я понял?
Да. config.xml, в <merge_tree>.

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