@clickhouse_ru

Страница 399 из 723
Ololo
24.01.2018
09:20:59
Наверное, лучше просто не буду использовать replacing merge tree.

Vladimir
24.01.2018
09:21:47
Aleksey
24.01.2018
10:24:08
Скажите, пожалуйста, какую версию ZooKeeper вы рекомендуете к использованию в продакшне? В русской документации написано "как минимум 3.4.9" В английской - 3.5 or later. И если 3.5, то какую именно? Их есть аж 3 штуки 3.5.1 от 31.08.2015 3.5.2 от 20.07.2016 3.5.3 от 17.04.2017 В документации описан пример из боевого окружения Яндекс.Метрики на 20.05.2017, и там речь о версии 3.5.1. Вы до сих пор используете 3.5.1?

Dima
24.01.2018
11:33:42
Привет Подскажите, где найти коннектор для PowerBI? Написано что он есть

Google
Dima
24.01.2018
11:33:45


Vladimir
24.01.2018
11:38:09
Привет Подскажите, где найти коннектор для PowerBI? Написано что он есть
Попробуйте вот так: https://www.etlforeveryone.ru/single-post/CHPBIConnector

Dima
24.01.2018
11:42:48
Да, но это надо для каждого запроса настраивать новое подключение. Не практично. Кастомный коннектор никто не писал?

Yegor
24.01.2018
12:51:30
Привет. Не нашел в документации и поэтому подозреваю, что такого функционала нет. Но может есть какой-то более простой способ решить мою проблему? Задача: добавить несколько столбцов к движку SummingMergeTree, конечно они должны войти в первичный ключ. ALTER позволяет добавить, тут проблем нет, но вот переконфигурировать ENGINE - такого функционала я не вижу. Поэтому мои данные будут постоянно перетираться движком. Есть идеи как решить проблему с минимальными затратами по времени?

Oleg
24.01.2018
12:55:26
Я бы создавал рядом таблицу аналогичную, но с нужными полями + ключом. Плавно перелил все данные из старой таблицы кроме текущего дня в новую. В новом дне остановил запись в старую таблицу. Перелил бы последний день. Запустил запись в новую таблицу.

Yegor
24.01.2018
13:02:42
Похоже, так и придется делать. Только потом переименовать новую табличку с именем старой.

Oleg
24.01.2018
13:03:44
ну и добавляются детали если у вас реплика есть или что-то еще)

Aleksey
24.01.2018
13:16:46
Подскажите, пожалуйста, в чём может быть проблема? КликХауз сегфолтится под интенсивной записью. Последние строки в логе от потока, от которого прилетел сегфолт, всё время выглядят так: <Warning> dbName.tableName (StorageReplicatedMergeTree): There was a problem with deleting 18 nodes from ZooKeeper: marshalling error <Debug> dbName.tableName (StorageReplicatedMergeTree): Removed 18 old parts from ZooKeeper. Removing them from filesystem. И всё. Потом другой поток пишет, что от этого потока прилетел Segmentation fault Версия ClickHouse: 1.1.54327 Версия ZooKeeper: 3.4.10

Alexey
24.01.2018
13:17:05
а если создать рядом аналогичную, в старой detach partition, перекинуть данные в новую, и в новой attach partition?

ну по идее структура та же вроде, просто меняется ключ? после attach partition данные схлопнутся по идее с новым ключом, но конечно, это тестировать надо

а нет, добавление столбцов, сорян, такой способ не прокатит

Sergey
24.01.2018
13:33:48
Добрый день. подскажите, пожалуйста, обновились до 54342 и посыпались ошибки

Google
Sergey
24.01.2018
13:33:54
2018.01.24 13:33:03.327459 [ 17 ] <Error> DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Code: 33, e.displayText() = DB::Exception: Cannot read all data, e.what() = DB::Exception, Stack trace:

Атата
24.01.2018
13:59:18
pastebin plz

Sergey
24.01.2018
14:00:00
https://pastebin.com/QgKxsREw

Nikolai
24.01.2018
14:04:02
https://github.com/yandex/ClickHouse/issues/1817 Завёл тикет на эту проблему
dictionaries.content_app_version_mapi - это таблица на основе внешнего словаря?

Andrey
24.01.2018
14:04:22
Да

Nikolai
24.01.2018
14:05:17
Да
А обычный select * format Null из нее работает?

prll
24.01.2018
14:05:36
https://pastebin.com/WHVjyxwx
память не кончалась в этот момент ?

Aleksey
24.01.2018
14:07:56
память не кончалась в этот момент ?
да, близко к нулю подбиралась, поминутный график показывает в 15:02 всего 2.1G Хотя не уверен, что это нужная метрика. Это MemFree из /proc/meminfo Много было в кэше. Процессами использовалось только 60G из 240.

Vyacheslav
24.01.2018
14:24:06
dictGetT('dict_name', 'attr_name', id) получить из словаря dict_name значение атрибута attr_name по ключу id. dict_name и attr_name - константные строки. id должен иметь тип UInt64. Если ключа id нет в словаре - вернуть значение по умолчанию, заданное в описании словаря.

Roman
24.01.2018
14:24:12
2018.01.24 13:33:03.327459 [ 17 ] <Error> DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Code: 33, e.displayText() = DB::Exception: Cannot read all data, e.what() = DB::Exception, Stack trace:
было ровно то же самое при обновлении на 54337, сначала Cannot read all data, потом посыпалось Part ... from own log doesn't exist. пришлось откатываться

Vyacheslav
24.01.2018
14:24:22
я не понимаю что тут написанно.

Vyacheslav
24.01.2018
14:25:58
почему тип Т и почему при этом "id должен иметь тип UInt64"

Roman
24.01.2018
14:26:14
посмотрел сейчас в логах - stack trace идентичный по Cannot read all data

Nikolai
24.01.2018
14:28:03
почему тип Т и почему при этом "id должен иметь тип UInt64"
словарь - это отображение: ключ -> значение. у обычных словарей ключ типа UInt64, а значение может быть произвольного типа T

Vyacheslav
24.01.2018
14:28:41
а у не обычных? и как из необычных доставать данные?

Google
Nikolai
24.01.2018
14:30:42
бывают еще complex key словари и range словари. в первых надо указывать tuple вместо UInt64, во вторых - дополнительный параметр даты

в документации подробнее написано про разнве типы словарей: https://clickhouse.yandex/docs/ru/dicts/external_dicts_dict_layout.html#sposoby-razmesheniya-slovarei-v-pamyati

Vyacheslav
24.01.2018
14:34:34
ну и как указывать tuple?

Александр
24.01.2018
14:35:11
https://clickhouse.yandex/docs/ru/data_types/tuple.html

Vyacheslav
24.01.2018
14:36:36
что из этой отписки я должен понять?

Nikolai
24.01.2018
14:36:47
например, dictGetUInt32('dict', 'value', tuple(1, 'a'))

Vyacheslav
24.01.2018
14:37:15
охренеть. почему 1, 'a' ?

1 — это количесво столбцов или что?

Alexey
24.01.2018
14:37:53
если у вас составной уникальный ключ в источнике, int и string например

Nikolai
24.01.2018
14:38:00
ну это зависит от типа ключа

tuple(1, 'a') - tuple из 2-х элементов: число и строка

Vyacheslav
24.01.2018
14:38:43
что зависит от типа ключа? 1 или 'a'?

Dmitry
24.01.2018
14:39:49
tuple - это просто массив фиксированного размера кладите туда что хотите

1 и 'a' - это рандомный пример

Александр
24.01.2018
14:40:13
А мне вот интересно ) Кортеж в кортеже поддерживается? )

Nikolai
24.01.2018
14:40:39
да

Vyacheslav
24.01.2018
14:41:35
а почему в заголовке статьи tuple с большой буквы, а тут в примерах — с маленькой? как правильно?

Nikolai
24.01.2018
14:41:37
что зависит от типа ключа? 1 или 'a'?
для complex key словарей в структуре указывается, какого типа должен быть составной ключ. например, это может быть число и строка.

Vyacheslav
24.01.2018
14:42:13
если кто удивлен вопросом — то всякие String — регистрозависимые

Nikolai
24.01.2018
14:42:45
Google
Nikolai
24.01.2018
14:43:45
SELECT toTypeName((1, 'a')) ┌─toTypeName(tuple(1, \'a\'))─┐ │ Tuple(UInt8, String) │ └─────────────────────────────┘

2018.01.24 13:33:03.327459 [ 17 ] <Error> DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Code: 33, e.displayText() = DB::Exception: Cannot read all data, e.what() = DB::Exception, Stack trace:
Все ли реплики обновились? Если на репликах разные версии, могут возникать похожие проблемы.

Sergey
24.01.2018
14:56:45
нет, проверяли только на 1

Nikolai
24.01.2018
14:58:19
можете попробовать обновиться на всех репликах какой-нибудь таблицы?

Alex
24.01.2018
15:14:16
Всех приветствую! Скажите, пожалуйста, справедливо ли утверждение, что кворумная вставка работает однопоточно в пределах replicated таблицы на шарде?

т.е. что попытка сделать две конкуретные вставки может всё разорвать

Dima
24.01.2018
15:22:14
Привет Смотрю вариант подключить Табло поверх КХ. Нашел в интеренете следующую информацию, но так как презентация довольно старая, хотел узнать как сейчас обстоятдела с этими пунктами. Кто использует Табло, подскажите, пожалуйста.

Nikolai
24.01.2018
15:22:18
Dima
24.01.2018
15:22:24


Alex
24.01.2018
15:23:05
кажется, что такого не должно случаться
В смысле, не должно ломать?

Sergey
24.01.2018
15:23:19


аа, речь о другом, не увидел

Alexandr
24.01.2018
15:26:19
Подскажите, пожалуйста, если способ вывести одну из Clickhouse нод на техническое обслуживание и потом вернуть через несколько часов, чтобы догнало репликацию, при этом так чтобы это не влияло на стабильность кластера? Под стабильностью в данном случае подразумеваю малое количество или полное отстуствие ошибок на SELECT запросы во время проведения обслуживания и догонки реплики. Вот к этому issue косвенно относится - https://github.com/yandex/ClickHouse/issues/520 Если сравнивать с проведением подобных операций на большом Elasticsearch кластере, то там всё стабильно и безпроблемно проходит.

Alexey
24.01.2018
15:35:34
а не надо ли перед началом работ сделать так, чтобы на нее не приходили запросы? если например, селектить из Distributed-таблицы, а load_balancing настроена на random, то запросы будут попадать на нее, пока она будет догоняться, и будут разные результаты

наверное, в этом случае поможет max_replica_delay_for_distributed_queries: Отключает отстающие реплики при распределенных запросах.

спс за вопрос =)

Alexandr
24.01.2018
15:42:26
если используете replicated таблицы то все само должно работать
да, конечно же используем replicated таблицы, но видимо кластер близок к максимуму утилизации.

Eugene
24.01.2018
15:42:27
Добрый день коллеги. Подскажите пожалуйста, есть таблица pages в ней записей 2кк Содержит колонки url | redirect_to_url | url_hash | redirect_to_url_hash Как можно узнать цепочку из 4 а лучше всех редиректов? Делал вот так SELECT url, redirect_to_url FROM pages ALL INNER JOIN ( SELECT redirect_to_url_hash AS url_hash FROM pages ALL INNER JOIN ( SELECT redirect_to_url_hash AS url_hash FROM pages ) USING (url_hash) ) USING (url_hash) LIMIT 10 Запрос висит... приходится убивать.

Google
Alexandr
24.01.2018
15:43:39
Roman
24.01.2018
15:44:21
Скажите, есть ли какие-то подводные камни в MODIFY COLUMN столбца Enum8 в UInt8 ?

Alexandr
24.01.2018
15:48:30
@kochetovnicolai подскажите, а при распредленном запросе - если одна из нод выдает таймаут, то и весь распределенный запрос выдает таймаут?

Alexander
24.01.2018
15:50:18
Привет, а никто не скажет, нет ли в КХ каких нибудь механизмов плагинов? Конкретно, что нужно мне - по различным признакам классифицировать эвенты, логика достаточно сложная. Чтобы было что-то вроде INSERT INTO блаблабла url, referrer, classify_external(url,referrer)

Alexandr
24.01.2018
15:50:21
300 секунд дефолтное значение для max_replica_delay_for_distributed_queries выглядит разумно, но что-то все равно не сходится.

Nikolai
24.01.2018
15:50:49
Скажите, есть ли какие-то подводные камни в MODIFY COLUMN столбца Enum8 в UInt8 ?
По-логике, все должно быть нормально, так как данные (вроде) не поменяются, а только тип.

Alexander
24.01.2018
16:24:15
коллеги, использующие tabbix, подскажите, пожалуйста. можно ли как-нибудь подкрутить в tabix таймауты ответа КХ? вылетает ошибка Timeout exceeded: elapsed 5.009918569 seconds, maximum: 5

Илья
24.01.2018
18:12:59
Подскажите, а можно ли удалить данные из таблицы не удаляя структуру самой таблицы какой-нибудь командой?

Alexandr
24.01.2018
18:19:09
подскажите, возможно ли отменить тяжелый мерж, спровоцированный OPTIMIZE TABLE? Судя по всему, можно удалить запись в очереди в Zookeeper, типа такого /clickhouse/{CLUSTER}/tables/6/{TABLE}/replicas/{NODE}/queue/queue-0002370007

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