@clickhouse_ru

Страница 659 из 723
Mike
15.09.2018
10:34:50
Ну вы хотя бы плюс-минус последнее значение получите, а не первое. Например, если у вас какие-нибудь логи ошибок, то вы можете делать какую-нибудь группировку и потом делать anyLast(message) и будете получать плюс-минус последнее релевантное сообщение об ошибке из группы
для меня непонятно, что такое «плюс-минус последнее». Почему тогда any не называется anyFirst, если её семантика — вернуть «плюс-минус первую» запись? Мне же anyLast может вернуть и первую запись, просто так повезёт?

Pavel
15.09.2018
11:25:09
А кто-то выбивал уже "Attempted access has violated the permissions assigned to the memory area" на 18.12.14 ?

Google
Pavel
15.09.2018
11:26:00
забил тикет, вроде дублей не видел https://github.com/yandex/ClickHouse/issues/3141

Alexey
15.09.2018
17:37:36
забил тикет, вроде дублей не видел https://github.com/yandex/ClickHouse/issues/3141
Нет, пока не сталкивались. Возможно это как-то связано с особенностью работы библиотеки clickhouse-cpp (хотя она должна быть совместимой). Пока информации не хватает.

Pavel
15.09.2018
17:42:01
Угу, с 18.10.3 работает отлично

Что-то явно поменялось

я прочитал changelog и чего-то что могло повлиять не вижу

Могу собрать любой дебаг, я воспроизвел баг в тест окружении

abc
15.09.2018
20:15:20
В кликхаусе ведь есть тип UUID ?

Хочу генерировать уникальный ID

CREATE TABLE t1 (id UUID DEFAULT generateUUIDv4()) ENGINE = MergeTree() ORDER BY (id) SETTINGS index_granularity = 8192

или нужно указывать id String ?

при INSERT ошибка Code: 62. DB::Exception: Cannot parse expression of type UUID here: )

papa
15.09.2018
20:18:51
во-первых он не до конца поддержан в зависимости от версии, в 18.12.13 была очередная итерация добавления чего-то

во-вторых, вы правда хотите отсортировтаь данные по случайному числу?

Google
abc
15.09.2018
20:19:37
это тестовая таблица на проверку вставки значений по-умолчанию

сортировку тут можно и убрать)

вообще хотелось бы обычный auto increment как например поле типа SERIAL / BIGSERIAL в PostgreSQL

Хм, вообще странно работают DEFAULT значения. Создал таблицу с одним полем created_at типа DateTime и прописал ему DEFAULT now(). При INSERT INTO t1 VALUES() вставляет пустую дату

Я 1 день с кликхаус может так и надо конечно но как-то непредсказуемо

версия 18.12.13

Denis
15.09.2018
21:02:56
Хм, вообще странно работают DEFAULT значения. Создал таблицу с одним полем created_at типа DateTime и прописал ему DEFAULT now(). При INSERT INTO t1 VALUES() вставляет пустую дату
Возможно, проблемы из-за того, что других столбцов нет. У меня не работал default только когда явно null передавал.

вообще хотелось бы обычный auto increment как например поле типа SERIAL / BIGSERIAL в PostgreSQL
Кх рассчитан на кластер, там такое будет слишком накладно. Поэтому отталкиваются от writetime в таких случаях. Добавьте номер шарда к нему как младший разряд и можете на него смотреть как на последовательность с пропусками.

Возможно, проблемы из-за того, что других столбцов нет. У меня не работал default только когда явно null передавал.
Хотя имхо стоило бы и в таких случаях применять дефолт, если столбец не nullabe

abc
15.09.2018
21:07:18
Спасибо попробую

Denis
15.09.2018
21:13:52
Или eventtime, если оно есть. Это будет лучше.

Denis
15.09.2018
23:05:48
КХ это DWH, какой смысл генерить serial или UUID в КХ? Идентификатор должен появится в источнике который сгенерил данные.

Если вам нужен auto increment в КХ вы точно что-то странное делаете.

GithubReleases
16.09.2018
05:04:32
yandex/ClickHouse was tagged: v18.12.17-stable Link: https://github.com/yandex/ClickHouse/releases/tag/v18.12.17-stable Release notes: v18.12.17-stable

Mike
16.09.2018
09:45:58
https://github.com/yandex/ClickHouse/blob/master/CHANGELOG_RU.md

Paul
16.09.2018
11:17:30
Приветствую коллег! Подскажите пжлст, откуда подгружаются include в clickhouse server для debian и ubuntu разместил макрос в /etc/clickhouse-server/conf.d/macros.xml, пытаюсь создать по tutorial-у replicated таблицу: CREATE TABLE ontime_replica (...) ENGINE = ReplicatedMergeTree( '/clickhouse_perftest/tables/{shard}/ontime', '{replica}', FlightDate, (Year, FlightDate), 8192); получаю ошибку Received exception from server (version 18.12.14): Code: 62. DB::Exception: Received from 127.0.0.1:9000. DB::Exception: No macro shard in config.

G
16.09.2018
15:28:24
В чем может быть проблема с CH при выполнении обычного SELECT запроса? [read meta] unexpected packet [5] from server

Напрямую подключившись к консоли запрос норм отрабатывает А из приложения (go) вот такая ошибка

Google
Denis
16.09.2018
15:56:42
у вас все похоже на правду https://clickhouse.yandex/docs/en/operations/configuration_files/ ndividual settings can be overridden in the *.xml and *.conf files in the conf.d and config.d directories next to the config file. вот например мой: # cat /etc/clickhouse-server/conf.d/macros.xml <?xml version="1.0" ?> <yandex> <macros> <cluster>oStaging24</cluster> <replica>test316</replica> <shard>1</shard> </macros> </yandex>

Paul
16.09.2018
15:58:02
о, спасибо

я неправильно сам xml оформил значит

Denis
16.09.2018
16:02:01
В чем может быть проблема с CH при выполнении обычного SELECT запроса? [read meta] unexpected packet [5] from server
go драйверов больше одного все которые я видел, работают по http, значит порт куда подключаться это 8123

?
16.09.2018
16:03:15
этот https://github.com/kshvakov/clickhouse по tcp

но да, надо проверять коннект, в первую очередь

Denis
16.09.2018
16:06:29
ну а эти по http https://github.com/roistat/go-clickhouse https://github.com/mailru/go-clickhouse

G
16.09.2018
16:06:45
этот https://github.com/kshvakov/clickhouse по tcp
Да этот, сори это мне кажется было очевидно

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

?
16.09.2018
16:10:43
ну судя по тому что он метаинформацию не может считать. я бы проверил коннект и права пользователя еще.

ну и проверять потом простым селектом сначала типа SELECT 1

G
16.09.2018
16:14:24
да не с коннектом все ОК

Одна часть приложения пишет и там есть данные

Denis
16.09.2018
16:20:55
возможно в native протоколе что-то изменили или драйвер какую-то фичу еще не поддерживает.

Kirill
16.09.2018
16:33:28
Скорее всего так и есть. Какая версия сервера? Есть пример для воспроизведения?

G
16.09.2018
16:57:03
image: yandex/clickhouse-server:18.6.0

Делаю пример

Kirill
16.09.2018
17:03:26
Denis
17.09.2018
07:57:58
спамчик в треде

Google
Alexey
17.09.2018
08:33:26
здравствуйте! есть проблема, поломалась репликация при старте сервера при инициализации возникает такое: 2018.09.17 10:29:16.783466 [ 10 ] <Error> void ZooKeeperImpl::ZooKeeper::receiveEvent(): Code: 999, e.displayText() = ZooKeeperImpl::Exception: Too large array size while reading from ZooKeeper (Marshalling error), e.what() = ZooKeeperImpl::Exception, Stack trace: 0. /usr/bin/clickhouse-server(StackTrace::StackTrace()+0x16) [0x56d06c6] 1. /usr/bin/clickhouse-server(ZooKeeperImpl::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0xce) [0x54579ee] 2. /usr/bin/clickhouse-server(ZooKeeperImpl::ZooKeeper::ListResponse::readImpl(DB::ReadBuffer&)+0x156) [0x5458cd6] 3. /usr/bin/clickhouse-server(ZooKeeperImpl::ZooKeeper::receiveEvent()+0x543) [0x545ea83] 4. /usr/bin/clickhouse-server(ZooKeeperImpl::ZooKeeper::receiveThread()+0x2b2) [0x545f232] 5. /usr/bin/clickhouse-server() [0x930310f] 6. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7f40cf0476ba] 7. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f40ce87041d] далее везде void DB::StorageReplicatedMergeTree::mutationsUpdatingTask(): Code: 999, e.displayText() = ZooKeeperImpl::Exception: Session expired (Session expired), e.what() = ZooKeeperImpl::Exception кто-то сталкивался? что можно сделать?

Slava
17.09.2018
08:37:32
всем привет, столкнулся с проблемой агрегации данных на разных машинах в кластере, а именно, есть 2 ноды по 256 гигов памяти и много процессоров, есть большая distibuted таблица, хочется сделать агрегат и выгрузить в csv, при попытке сделать это валится в ошибку: Attempt to read after eof: while receiving packet from localhost. Хочеться уменьшить набор данных, который отправляется на доагрегацию на первую машину

настройки вот такие

данных реально много если делать выборку за месяц и не хватает памяти на дожевывание на первой машине, у меня есть рабочий способ на разбитием на дни и доагрегацией своими силами, но хотелось бы за раз прожевать месяц по возможности

может быть кто-нибудь сталкивался с подобной проблемой

Андрей
17.09.2018
09:14:15
Добрый день, подскажите пожалуйста, умеет ли tabix работать через chproxy?

Dmitriy
17.09.2018
09:21:30
умеет

Aleksandr
17.09.2018
09:26:01
Всем добрый день! Не нашел правил группы, если не по теме — без проблем удалю вопрос. Ищу себе в команду человека, у которого есть опыт миграции на Clickhouse (в идеале — с вертики). Задача — мигрировать =) Разобраться в текущих потоках данных, придумать, как переложить их на Clickhouse, поднять Clickhouse (kubernetes или подобная архтикетура), провести весь процесс миграции. Если кому-то понравилась миграция (понимаю, что таких, скорее всего, мало, но вдруг =) ) и хочется повторить — пишите в лс.

Aleksandr
17.09.2018
09:31:04
Архитектура, на которой будем разворачивать, обсуждаема. Живем в AWS.

как активный пользователь кубернетеса предположу, что кубернетис в вашем уравнении будет лишней переменной
Если не секрет, чем плох k8s в связке с clickhouse? В целом тем, что там не очень здорово хранилища поднимать, или есть особенности?

Denis
17.09.2018
09:32:11
мне тоже интересно

Paul
17.09.2018
09:34:52
k8s не рекомендуется в тех случаях, когда вам надо хранить данные. Об этом постоянно говорят идеологи кубера (включая даже Сета Варго). Кубер – это про контейнеры, а контейнеры не хранят состояния (точнее могут, но не должны). Вторая проблема в том, что кубер - это сложно. Заставить его нормально работать, поддерживать и отлаживать его – это тоже сложно. Безопасность кубера - это тоже сложно. Если вы ставите кубер для того, чтобы запускать в нем кликхауз (и только для этого) – вы сильно переусложняете свою архитектуру. Архитектура должна быть максимально простой. Это, разумеется, мое мнение. Готов раскрыть подробнее. Хотя это и оффтоп

Denis
17.09.2018
09:35:33
так данные же в томах хранятся, а не в контейнерах

Paul
17.09.2018
09:36:33
Тома подключаются к контейнерам. Контейнеры работают с данными. Но это в целом довольно хрупкая конструкция. И да, идеология работы с контейнерами предполагает "бесконечное" горизонтальное масштабирование. Чего контейнер с сохранением состояния обеспечить не сможет

Denis
17.09.2018
09:37:26
в принципе, ни клик, ни зукипер не предполагается масштабировать автоматически

Daniel
17.09.2018
09:37:31
так данные же в томах хранятся, а не в контейнерах
У меня на железных серверах если сервер/сервис аварийно завершает работу, пара таблиц да кораптнется, а контейнеры это вообще неустойчивая единица, не могу предположить, как можно хранить данные, управляемые КХ в контейнере сколь-нибудь долго

Denis
17.09.2018
09:37:42
но я не пойму, где же состояние, если данные в томах...

Google
Paul
17.09.2018
09:37:59
но я не пойму, где же состояние, если данные в томах...
а как вы к этим томам обращаетесь? из контейнера же?

Denis
17.09.2018
09:39:01
из контейнера, но он их как конфигурацию получает (я никак не обращаюсь, меня теория вопроса интересует)

Paul
17.09.2018
09:40:17
из контейнера, но он их как конфигурацию получает (я никак не обращаюсь, меня теория вопроса интересует)
ну то есть у вас контейнер хранит состояние. Просто для хранения состояния он использует том. Вообще, задача "прицепить к каждому контейнеру его строго определенный том" в кубере решается... Но болезненным и извращенным путем. Что явно подсказывает, что делать так не стоит

плюс у контейнеров очень плохо предсказывается производительность. Кубер - классная штука. Но это сложно, я серьезно

Alex
17.09.2018
09:41:29
А что в odbc опять сломан в последних версиях ClickHouse?

Пробую сделать select * from odbc('Driver={PostgreSQL Unicode};UID=analytic;PWD=*****;Server=192.168.10.10;Port=5532;DATABASE=production', 'jobs') limit 100 Получаю: HTTP status code: 500 Internal Server Error, body: Error getting columns from ODBC 'Code: 404, e.displayText() = DB::Exception: ODBC connection string has forbidden parameter, e.what() = DB::Exception'

Aleksandr
17.09.2018
09:44:23
плюс у контейнеров очень плохо предсказывается производительность. Кубер - классная штука. Но это сложно, я серьезно
Согласен, в нашем случае k8s существует не из-за кликхауса, а сам по себе. Это просто один из вариантов, куда его можно развернуть. =)

Alex
17.09.2018
09:48:34
И как теперь быть?

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