
Vasilij
13.07.2018
10:02:49
Не понял вот этого:
OPTIMIZE TABLE Turnovers
Received exception from server (version 1.1.54388):
Code: 194. DB::Exception: Received from 127.0.0.1:9003. DB::Exception: Received from .... DB::Exception: Password required for user default.
У юзера default конечно есть пароль, но я его ввел когда залогинился в консоль...

Alexey
13.07.2018
10:05:26
это вам другая нода видимо ответила
они же под юзером default друг к другу ходят

Vasilij
13.07.2018
10:07:55
Т.е. при OPTIMIZE реплицируемой таблицы, они ещё и друг к другу логинятся?? Кластера у нас нет если что, только replicated таблицы по 3-м нодам.
Пароли/логины кстати у них одинаковые...

Google

Alexey
13.07.2018
10:08:45
вы должны пароли юзера default прописать в replica.xml, где описывается кластер

Vasilij
13.07.2018
10:10:31
Хм, мне казалось, что replika.xml у меня вообще отсутствует.
Это возможно сделать в разделе <remote_servers>, где прописаны реплики?

Alexey
13.07.2018
10:11:25
<replica>
<host>example01-02-2</host>
<port>9000</port>
<user>default</user>
<password>sex</password>
</replica>
да, там и надо

Vasilij
13.07.2018
10:12:30
Ага, спасибо!

Андрэ
13.07.2018
10:17:42
парни, привет. А я правильно понимаю, что есть у меня есть кластер и релицируемые таблицы. И есть матвью, что из одной таблицы в другую данные собирает, вот этот матвью только на одном сервере кластера должен работать?

Alex
13.07.2018
10:18:28

Андрэ
13.07.2018
10:19:20
нет, один

Vasilij
13.07.2018
10:25:00
Вот такая загадка:
Сделал для реплицируемой таблицы ALTER TABLE ... ADD COLUMN AddDate DateTime DEFAULT now(); (replication_alter_partitions_sync = 2)
При попытке посмотреть значение это колонки для старой строки уткнулся в эксепшн: DB::Exception: Not found column AddTime in block.
Как я понял по документации, такого быть не должно, колонка должна догенеряться при селектах, или возвращаться пустой.
WTF?

Андрэ
13.07.2018
10:26:43
А, матвью ловит же инсерты. То если пишу везде, то и матвью надо везде

Andrei
13.07.2018
10:30:44
Зависит от движка матвью. Реплицируемый не могу рекомендовать. А так на каждой машине отдельно можн по матвью делать. Инсерты ловят

Kirill
13.07.2018
10:31:20

Google

Андрэ
13.07.2018
10:31:37
Ага, я уже понял. Спасибо

Yuran
13.07.2018
10:33:09
Господа, никто не сталкивался с задачей добавить колонку и добавить её заодно в первичный ключ? По идее, для этого старые данные перестраивать не нужно, поэтому такое должно быть возможно.

Kirill
13.07.2018
10:34:47

Yuran
13.07.2018
10:35:01
У нас везде реплицируемые ?

Kirill
13.07.2018
10:35:17
В задачах есть сделать это везде :)

Yuran
13.07.2018
10:35:19
Я уже думал про то, что можно просто .sql-файл с описанием таблицы поправтиь и перезапустить ClickHouse

Oleg Bazdyrev
13.07.2018
10:36:24
Так как можно понять, откуда берется "Cannot read all data"? на старой версии такого не было

Alexey
13.07.2018
10:42:56
у меня иногда такое бывает, я иду смотреть в другую реплику, там указана ошибка про конкретный кусок в таблице
помогает detach & attach partition с этим куском

Oleg Bazdyrev
13.07.2018
10:44:16
походу из-за разных версий.. тогда продолжаю обновлять

prll
13.07.2018
10:47:00

Oleg Bazdyrev
13.07.2018
10:47:23
дообновлю и буду смотреть

Konstantin
13.07.2018
10:52:27
было похожее. оказалось на одной из реплик случайно указал неверные хостнейм в параметре interserver_http_host. то есть одна реплика ходила за данными сама к себе, а их нет, они на соседней реплике были

Aleksey
13.07.2018
11:01:15
А есть коннекторы ClickHouse к Google Data Studio?
Ну или кто может его написать и за сколько? )

Oleg Bazdyrev
13.07.2018
11:47:19
а все же, можно ли как-нибудь увеличить таймаут для зукипера?
тупо не могу запустить сервер из-за "session expired"

Kate
13.07.2018
11:54:32
Ребят, привет! Подскажите, пожалуйста, как можно грузить данные из hive в QH без Spark?

Google

Alex
13.07.2018
11:55:26
если совсем без скриптинга, то совсем никак :)
можно посохранять в JSON/TSV, потом каждый файлик пораздельно через CURL засунуть

Kate
13.07.2018
11:56:26
Подкодить *

Артем
13.07.2018
12:54:14
Подскажите как можно получить заселектить значения в массив, пример того что хочется получить
SELECT
city_id,
array(users)
FROM session GROUP BY city_id;

papa
13.07.2018
12:54:28
groupArray

Артем
13.07.2018
12:55:41

Alexey
13.07.2018
12:59:32
Привет!
Есть ли у кого-то опыт использования КХ в продакшне под Gentoo?
В руководстве КХ формулировка однозначная "Система некроссплатформенная. Требуется ОС Linux Ubuntu", но дальше идет описание установки под другие системы, включая Gentoo

Maksim
13.07.2018
13:08:05
под генту просто никто не тестирует

Victor
13.07.2018
13:08:34
там ждут ебилдов?

Kirill
13.07.2018
13:09:01
Подскжите, пожалуйста, появилась ли возможность изменять состав полей первичного ключа MergeTree таблиц?

Kirill
13.07.2018
13:16:04

Alexey
13.07.2018
13:19:36
на версии 1.1.54310
https://clickhouse.yandex/docs/ru/table_engines/custom_partitioning_key/

Kirill
13.07.2018
13:22:05
?

Alexey
13.07.2018
13:22:35
там какой-то кейс есть, когда не меняется сортировка данных, но в целом нет, нельзя добавить удалить колонку
?
Изменение типа у столбцов, входящих в первичный ключ возможно только в том случае, если это изменение не приводит к изменению данных (например, разрешено добавление значения в Enum или изменение типа с DateTime на UInt32).

Google

Vasilij
13.07.2018
13:23:54
Что делает RESTART REPLICAS?
А то у меня несколько реплик только на проде, опасаюсь вот так сразу пробовать.

Kate
13.07.2018
13:29:15

Vasilij
13.07.2018
13:29:31

Alexey
13.07.2018
13:30:10
вы задали пароль для default, где-ьо его надо прописать, надо искать
вот смотрите
Просто у меня в users.xml пароль для default в хэше, а в конфиге открытый - и так не работает, он всё равно ругается и требует пароль. Вот если в users.xml тоже сохранить в открытом виже - тогда работает.

Vasilij
13.07.2018
13:35:46
Нет, не мой случай. Пароль везде одинаково задан.
Спасибо, поищу ещё в чем дело.

prll
13.07.2018
13:45:35

Артем
13.07.2018
13:46:20
подскажите кто с талкивался с переносом больших таблиц
- есть широкая таблица (~140 колонок ) в которой порядка 5 мрд. записей
- было принята решение изменить структуру таблицы ( внедрить Nested структуру для многих из колонок )
- Запрос типа INSERT INTO table_new SELECT table_from даже за месяц падает по памяти
Есть варинанты переноса данных ?

Alexey
13.07.2018
13:48:33
1. создать вторую таблицу рядом, начать писать в нее параллельно со старой
2. по дням доливать данные из старой в новую
3. когда накопится достаточно дней, переключить софт на новую таблицу
4. долить из старой в новую столько, скольк нужно, и потом старую [сбэкапить и] удалить

Артем
13.07.2018
13:54:39

Alexey
13.07.2018
13:55:40
есть есть timestamp, можно по дню и по часу

Wolf
13.07.2018
13:55:59

Артем
13.07.2018
13:56:59

Wolf
13.07.2018
13:58:58
запрос съедает 10Гб
ну можно воткнуть больше памяти, а так да есть проблема как гранулировать для переливки данные если небольшой обьем памяти

Vladislav
13.07.2018
14:00:55
@prll А проблема с timeout (Cannot read all data, e.what() = DB::Exception) починена в 390?

Артем
13.07.2018
14:01:13

Google

Alex
13.07.2018
14:03:46
Попробуйте ещё уменьшить количество тредов для запроса SELECT: INSERT INTO table_new SELECT * FROM table_from SETTINGS max_threads=1

Sergey
13.07.2018
14:08:42
Привет!
Есть битовое поле.
Каждому биту соответствует массив чисел.
Хочется каждому экземпляру битового поля ставить в соответствие массив чисел
Например, возьмем число 201326592 = (1 « 26) + (1 « 27)
числу 26 можно поставить в соответствие числа -2, 555
числу 27 можно поставить в соответствие числа -2, 777
хочу получить массив [-2, 555, -2, 777]
Я пытаюсь это делать примерно так
select arrayMap(y -> splitByChar(',',y), arrayMap(xx -> caseWithExpr(xx, 26, '-2,555', 27, '-2,777', '666'), arrayMap(xxx -> log2(xxx), bitmaskToArray(201326592))))
но результат немного не тот
[['-2','555'],['-2','777']]
Есть идеи как это сделать правильно?

Артем
13.07.2018
14:14:40

Tatiana
13.07.2018
14:20:10

Артем
13.07.2018
14:21:36

prll
13.07.2018
14:24:05

Артем
13.07.2018
14:26:02
А какой у вас select? С группировкой и сортировкой?
вот такой запрос
INSERT INTO table_new SELECT
session_id,
any(column_2),
...
...
any(column_61),
groupArray(column_62),
...
...
groupArray(column_140),
FROM table_old
WHERE date = '2017-07-10'
GROUP BY session_id;

antuan
13.07.2018
14:27:12
мб стОит попробовать вставить в одном запросе одну часть колонок, во втором - вторую часть и т.д.?

Vladislav
13.07.2018
14:30:34

Артем
13.07.2018
15:19:15

Vasilij
13.07.2018
16:32:48

Mike
13.07.2018
17:39:53
Коллеги, подскажите плиз, новый словарь из постгресса без перезагрузки подтянется? что-то конфиг сделал, вроде даже конфиги перечитались (судя по небольшой ругани в логах) но в system.dictionaries пусто(

Michal
13.07.2018
18:00:55

Артем
13.07.2018
18:28:31

Michal
13.07.2018
18:30:34