@clickhouse_ru

Страница 600 из 723
Абрамов
25.07.2018
16:52:05
В таблице все колонки String и только одна DateTime materialized с этой функцией

Сразу назад откатили... Если только на тесте попробовать повторить

А что не так с parseDateTimeBestEffortOrZero - что поменялось?
2018.07.24 14:54:37.659733 [ 1 ] <Error> Application: DB::Exception: Cannot create table from metadata file /var/lib/clickhouse/metadata/...., error: DB::Exception: Cannot parse datetime: Cannot parse DateTime from String, 

Alexander
25.07.2018
16:56:43
а гдето можно почитать что такое движок таблиц URL?
Это очень похожий на file движок, работает с данными в разных форматах. Если формат позволяет, можно делать и select и insert, иначе только select. Данные берутся не из файла, а из url. Умеет забирать по HTTP и HTTPS. Скоро будет описание в документации.

Google
Serge
25.07.2018
16:57:00
спасибо!

Абрамов
25.07.2018
16:59:57
А что не так с parseDateTimeBestEffortOrZero - что поменялось?
Странно, что и при детаченных данных ругалась на метаданные

Tatiana
25.07.2018
17:36:28
можно проще <attribute> <name>updated_date</name> <type>DateTime</type> <null_value>0</null_value> </attribute>
Из-за этого у меня 18.1.0 не запускается, говорит: error: DB::Exception: Cannot parse datetime: error parsing null_value <attribute> <name>updated_date</name> <type>DateTime</type> <null_value>0</null_value> </attribute>

Абрамов
25.07.2018
18:18:00
Да, так не работает: SELECT toDateTime('0')
Такая же заглушка на пустое значение стоит! Значит из-за нее

А в предыдущих верисиях toDateTime('0') работает... и toDateTime(0) кажется тоже

Dmitry
25.07.2018
18:30:03
а нормально ли с точки зрения производительности писать в таблицу большие объемы данных а выборку делать через вьюху ?

Alexey
25.07.2018
18:37:24
а нормально ли с точки зрения производительности писать в таблицу большие объемы данных а выборку делать через вьюху ?
С выборкой через view есть недостатки - условия не прокидываются во внутренний запрос и не работает индекс. Поэтому так не рекомендуется.

Из-за этого у меня 18.1.0 не запускается, говорит: error: DB::Exception: Cannot parse datetime: error parsing null_value <attribute> <name>updated_date</name> <type>DateTime</type> <null_value>0</null_value> </attribute>
Проверил - оказывается возможность парсинга строки '0' как DateTime работала только за счёт implementation specific behaviour и то не всегда. Такой пример не работал и в старой версии тоже: CREATE TEMPORARY TABLE test (d DateTime, x UInt8, s String) INSERT INTO test FORMAT CSV 0, 1, hello world h Поэтому вернуть такое поведение не получится.

Tatiana
25.07.2018
18:46:20
Большое спасибо, будем менять ?

Dmitry
25.07.2018
18:55:34
С выборкой через view есть недостатки - условия не прокидываются во внутренний запрос и не работает индекс. Поэтому так не рекомендуется.
Допустим есть N таблиц ReplacingMergeTree из которых просто делается выборка определенных данных с указанием FINAL, все они содержат timestamp метку и из вьюхи уже выбираем с фильтром по этой метке ?

Alexey
25.07.2018
18:58:59
Допустим есть N таблиц ReplacingMergeTree из которых просто делается выборка определенных данных с указанием FINAL, все они содержат timestamp метку и из вьюхи уже выбираем с фильтром по этой метке ?
Если timestamp не в индексе, то в этом случае существенной разницы в производительности не должно быть. Тем не менее, всё-равно может быть менее эффективно выбирать через view, из-за того, что в этом случае не производятся некоторые оптимизации (например, prewhere).

Google
Alexey
25.07.2018
19:17:01
Кто-то коннектил Clickhouse к TeamSQL?
Я попробовал только что. Но не вижу в списке поддерживаемых баз ClickHouse или generic. Может быть можно подключить через ProxySQL.

Sergey
25.07.2018
19:44:38
Быстрый глупый вопрос: а КХ как-то кеширует / оптимизирует результаты запросов по мере их накопления? У нас серия обстрелов показывает на одних и тех же данных уменьшение времени ответа чуть ли не вдвое, что хорошо, но настораживает. :)

Ну ок. Спокойной ночи.

Александр
25.07.2018
20:34:00
Vladislav
25.07.2018
20:54:34
Всем привет. Ищу разработчика, который сможет реализовать и запулить(и что бы приняли) функцию аналогичную функции lag в oracle. Мы когда-то делали на основе RunningDifferent, но не получилось реализовать для string, там как-то сложно получалось. По денежке договоримся

Sergey
26.07.2018
05:59:26
Илья, Александр, спасибо.

Vladimir
26.07.2018
06:00:28
Кто может подсказать почему не восстанавливаеться таблица?

2018.07.26 05:59:17.719593 [ 1 ] <Error> Application: DB::Exception: Cannot create table from metadata file /mnt/local/clickhouse/metadata/default//%2Einner%2EMetricsDistributedRecentView.sql, error: DB::Exception: MergeTree data format version on disk doesn't support custom partitioning, stack trace: 0. /usr/bin/clickhouse-server(StackTrace::StackTrace()+0x15) [0x84eb125] 1. /usr/bin/clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x21) [0x2ccbf01] 2. /usr/bin/clickhouse-server(DB::MergeTreeData::MergeTreeData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::ColumnsDescription const&, DB::Context&, std::shared_ptr<DB::IAST> const&, std::shared_ptr<DB::IAST> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<DB::IAST> const&, std::shared_ptr<DB::IAST> const&, DB::MergeTreeData::MergingParams const&, DB::MergeTreeSettings const&, bool, bool, std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>)+0x14dd) [0x7ea6b5d] 3. /usr/bin/clickhouse-server(DB::StorageReplicatedMergeTree::StorageReplicatedMergeTree(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::ColumnsDescription const&, DB::Context&, std::shared_ptr<DB::IAST> const&, std::shared_ptr<DB::IAST> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<DB::IAST> const&, std::shared_ptr<DB::IAST> const&, DB::MergeTreeData::MergingParams const&, DB::MergeTreeSettings const&, bool)+0x4e6) [0x7e56806]

притом что ubuntu@tsf-data24:~$ sudo -u clickhouse ls -l /var/lib/clickhouse/flags/force_restore_data -rw-r--r-- 1 clickhouse clickhouse 2 Jul 26 05:58 /var/lib/clickhouse/flags/force_restore_data

нашел https://github.com/yandex/ClickHouse/issues/1569

пофикшено в нофой версии

Sergey
26.07.2018
06:25:27
Он кеширует разжатые блоки.
Пардон, тоже спасибо. :)

Aleksandr
26.07.2018
07:45:47
Здравствуйте. Подскажите пожалуйста, что будет если упадет зукипер и позже восстановится?

или лучше делать кластер из зукипера сразу?

Aleksandr
26.07.2018
07:47:26
понял, спасибо

Diomid
26.07.2018
07:50:04
Здравствуйте. Подскажите пожалуйста, что будет если упадет зукипер и позже восстановится?
Как минимум данные у вас не отреплицируются сразу. А если у вас при трех КХ в реплике стоит опция <insert_quorum>2</insert_quorum>, то будет вообще ошибка при записи.

Google
Aleksandr
26.07.2018
07:50:22
понял, спасибо

еще вопрос, данные в зукипере удаляются как то автоматом или руками как то нужно?

Wolf
26.07.2018
07:54:01
Какие данные, если о реплике то удаляются автоматом когда удаляешь таблицу в кх

Если просто выключить сервер кх то надо руками удалять в зк

Aleksandr
26.07.2018
07:55:35
уже вижу что в зукипере постоянно делаются снепшоты а данные с зукипера удаляются которые не нужны

правильно ли я понимаю что снепшоты зукипера можно чистить и оставлять например снепшоты за последние 3 дня например?

Alexey
26.07.2018
07:57:26
правильно ли я понимаю что снепшоты зукипера можно чистить и оставлять например снепшоты за последние 3 дня например?
С настройками по умолчанию, ZooKeeper является бомбой замедленного действия: Сервер ZooKeeper не будет удалять файлы со старыми снепшоты и логами при использовании конфигурации по умолчанию (см. autopurge), это является ответственностью оператора. Эту бомбу нужно обезвредить.

из доки

про zookeeper

https://clickhouse.yandex/docs/ru/operations/tips/#zookeeper

Aleksandr
26.07.2018
07:59:20
хорошее описание, спасибо ?

Alex
26.07.2018
08:30:40
привет всем! а есть у кого нибудь вот такой ман только на русском? https://media.readthedocs.org/pdf/clickhouse-docs-en/latest/clickhouse-docs-en.pdf

Stanislav
26.07.2018
08:34:58
Не в пдф - на гитхабе или на https://clickhouse.yandex/docs/ru/

Сразу сюда: https://clickhouse.yandex/docs/ru/single/ - будет одностраничная версия.

Alex
26.07.2018
08:37:43
спасибо! хотел в читалку загрузить, там интернета нет

Alexander Nairashvili
26.07.2018
08:57:08
https://clickhouse.yandex/docs/ru/operations/tips/#zookeeper
3.4.8 - уже не подходит? когда я сетапил клик в рекомендованых вроде >=3.4.6 стоял (интересно с какими проблемами я могу столкнуться)

Alexey
26.07.2018
08:57:31
хз, лучше свежее

Stanislav
26.07.2018
09:00:52
точно работает: zookeeper: Installed: 3.4.9-3 Candidate: 3.4.9-3 Version table: *** 3.4.9-3 500 500 http://ftp.de.debian.org/debian stretch/main amd64 Packages 100 /var/lib/dpkg/status

Wolf
26.07.2018
09:06:11
у нас 3.4.8-1 из стандартного репо убунты

проблем никаких нет

Google
Wolf
26.07.2018
09:06:23
зукипер просто обновляется нынче очень не часто

Diomid
26.07.2018
09:07:20
у нас 3.4.8-1 из стандартного репо убунты
Это ж от февраля 2016 года версия. И как долгий у вас полет на нем?

Wolf
26.07.2018
09:07:38
по моему с конца прошлого года

я думаю все кто на убунту 1604 запускался его юзают

Wolf
26.07.2018
09:37:12
ну это видимо не дефолтный пакет

есть у них репо со свежим зукипером ?

я по моему с ходу не нашел и на тестах отлично работал зукипер из коробки

Diomid
26.07.2018
09:37:48
Да, это не из репозитория. Простите, забыл указать.

Wolf
26.07.2018
09:38:14
сами собираете ?

Diomid
26.07.2018
09:39:24
сами собираете ?
Не собираем. Просто скачиваем архив, все по официальному мануалу.

Vladimir
26.07.2018
09:57:56
Используем Батч инсерты в КХ Пару раз уже было что КХ возвращал исключение, например из-за медленных мержей Что делать с батчем? Повторять вставку? Выкидывать? Получается частичная вставка или повторы в таком случае

Как быть?

Может КХ возвращает список того что вставил или не вставил?

Используем JDBC

Saprow
26.07.2018
10:07:27
Здравствуйте, имеется таблица с полем для целых чисел Clients, полем для строки (по ней ведётся поиск) и полем DateTime, каким образом можно найти максимальное значение и узнать в какое время DateTime оно было ? Запрос получается такого вида SELECT DateTime,max(Clients) as Maximum FROM statistics.servers WHERE Date=today() AND Uid='WbZn8NI3AmLnKlc5PwaLzfvN2po=' Но ругается на GROUP BY, пробовал сделать с GROUP BY, но тогда идёт расчёт максимального значения в определенный момент времени

Alex
26.07.2018
10:10:53
SELECT argMax(DateTime, Clients), max(Clients) as Maximum FROM statistics.servers WHERE Date=today() AND Uid='WbZn8NI3AmLnKlc5PwaLzfvN2po=

Saprow
26.07.2018
10:13:01
SELECT argMax(DateTime, Clients), max(Clients) as Maximum FROM statistics.servers WHERE Date=today() AND Uid='WbZn8NI3AmLnKlc5PwaLzfvN2po=
Кайф, спасибо, предыдущий вариант тоже пробовал, но этот кажется более эстетичен

Единственное что заметил, если несколько одинаковых максимальных значений, то DateTime выбирается самое первое. Возможно ли сделать чтобы показывало последнюю (самое позднюю) DateTime отметку ?

Google
Saprow
26.07.2018
10:32:34
на самом деле не критично, ведь свою задачу выполняет

Egor
26.07.2018
11:20:29
имеется база данных с веб логами - кликами пользователей. Подавляющее большинство запросов на чтение будут искать данные по урлу, притом на вхождение подстроки в строку, иногда с учетом положения подстроки (т.е. захешировать и сравнивать соответствие хешей не получится). Вопрос, наверное, немного глупый - имеет ли смысл включать УРЛ в индекс MergeTree для ускорения обработки таких запросов?

или выгода от этого будет несоразмерна затратам по памяти? (в сжатом .xz виде логи занимают около 3,5 ТБ)

Alex
26.07.2018
11:27:17
Индекс поможет для запросов с условием на префикс урла. Для условий на вхождение подстроки в произвольном месте индекс бесполезен.

Используем Батч инсерты в КХ Пару раз уже было что КХ возвращал исключение, например из-за медленных мержей Что делать с батчем? Повторять вставку? Выкидывать? Получается частичная вставка или повторы в таком случае
Если у вас батч меньше значения настройки max_insert_block_size (1048576 по умолчанию), то инсерт атомарный - если произошла ошибка, значит он целиком не вставился. В случае ошибки про медленные мержи нужно уменьшить частоту вставок или продиагностировать проблему, которая мешает мержам идти.

Grigoriy
26.07.2018
12:43:19
Привет! А кто-то смог научить grafana работать с graphite-clickhouse и тегами в нем?

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