@clickhouse_ru

Страница 394 из 723
Roman
18.01.2018
19:09:09
Еще вот такое заметил. На одном из шардов у обоих реплик при выполнении запроса select * from system.replicas where table = 'EventsLocalReplicated' format Vertical is_leader: 0 При этом на одной из реплик parts_to_check ненулевое

Roman
18.01.2018
19:10:29
total_replicas: 2

Google
Roman
18.01.2018
19:11:19
database: bemob table: EventsLocalReplicated engine: ReplicatedSummingMergeTree is_leader: 0 is_readonly: 0 is_session_expired: 0 future_parts: 0 parts_to_check: 27 zookeeper_path: /clickhouse/tables/01-02/events replica_name: events-01-02-2.ххх replica_path: /clickhouse/tables/01-02/events/replicas/events-01-02-2.ххх columns_version: 0 queue_size: 0 inserts_in_queue: 0 merges_in_queue: 0 queue_oldest_time: 0000-00-00 00:00:00 inserts_oldest_time: 0000-00-00 00:00:00 merges_oldest_time: 0000-00-00 00:00:00 oldest_part_to_get: oldest_part_to_merge_to: log_max_index: 220761 log_pointer: 220762 last_queue_update: 0000-00-00 00:00:00 absolute_delay: 0 total_replicas: 2 active_replicas: 2

Alexey
18.01.2018
19:11:24
is_leader может быть ноль у всех реплик, если они не инициализировали своё состояние. И это не хорошо. Может быть в обычной ситуации - например, если не могут установить сессию с ZK. Смотрите подробнее в лог.

Roman
18.01.2018
19:31:00
Спасибо за помощь, получилось откатиться, ошибки по репликации больше не появляются

да, воспроизвелось. решить просто - killall clickhouse-server && service clickhouse-server restart
судя по всему, эта ошибка возникает из-за этого cat /etc/cron.d/clickhouse-server */10 * * * * root /etc/init.d/clickhouse-server condstart 1>/dev/null 2>&1

Alexandr
18.01.2018
20:00:28
Добрый день. Подскажите как мне сделать соединение каждый с каждым? Есть ид клиента и координаты. Хочу построить таблицу расстояний между клиентами.

papa
18.01.2018
20:01:01
cross join ?

Alexandr
18.01.2018
20:01:44
Да

Cross join нету в clickhouse или я затупил?

papa
18.01.2018
20:04:27
select x,y from (select arrayJoin([1,2]) as x) cross join (select arrayJoin([1,2]) as y)

Alexandr
18.01.2018
20:15:24
Круто с arrayJoin работает

А как заполнить ArrayJoin id из таблицы?

papa
18.01.2018
20:18:08
его не надо заполнять из таблицы, это просто короткий способ сделать пример таблицы с двумя строками.

Google
Alexandr
18.01.2018
20:19:41
Если я вместо select arrayJoin пишу select id from table не работает

papa
18.01.2018
20:20:03
и что говорит

Alexandr
18.01.2018
20:24:14
Syntax error

Expected one of select with ...

Все спасибо разобрался

select x, y from ( select ph_id as x from companyes) cross join ( select ph_id as y from companyes) limit 100

огромное спасибо!

Alexey
18.01.2018
23:25:24
regions_hierarchy

Roman
18.01.2018
23:34:38
Alexey все еще пытаюсь понять, почему при обновлении на новую версию сломалась репликация. заметил, что в новых версиях в конфиге появился параметр format_schema_path. насколько критично его наличие для репликации?

Alexey
18.01.2018
23:35:30
Репликация не работает (до момента обновления), если на репликах разные версии - как написано в changelog. Но с проблемой как у вас пока ещё не сталкивались.

Олег Иванович
18.01.2018
23:38:12
@milovidov_an подскажите, примерно через какой промежкток времени в hub.docker.com появляется новый образ, после того как на гитхабе появляется новый релиз?

Alexey
18.01.2018
23:39:27
Должен сразу, но иногда приходится смотреть, почему образ не создался или не загрузился.

Олег Иванович
18.01.2018
23:40:13
т.е. в течении суток, он там обычно должен появиться все верно?

Alexey
18.01.2018
23:46:32
Да.

Олег Иванович
18.01.2018
23:46:46
понятно, спасибо

Alexey
19.01.2018
02:22:53
Я посмотрел - это уже исправлено. > Fixed incorrect behaviour of Join table engine (Amos Bird).

Maxim
19.01.2018
07:42:31
Доброго времени суток! есть таблица CREATE TABLE tbl (\ ts UInt32,\ id Int32,\ key Int64,\ ) ENGINE = MergeTree\ PARTITION BY intDiv(ts,3600)\ ORDER BY (keyi,ts,id); на 4х серверах, данные всталяются в каждый сервер, при выборке вижу, что некоторые строки не вставились, куда копать? (ошибок в логах кх и приложения нет)

Константин
19.01.2018
07:51:06
Добрый день! Хотел бы вновь задать вопрос по поводу геобазы: как бы ее подключить к КХ, чтобы по ip можно было получить гео пользователя? у нас есть геобаза в формате startIpLong, endIpLong, country, region, city, iso

Google
Константин
19.01.2018
07:51:35
теоретически, это можно подключить как словарь, но как делать range запросы к словарю?

Firej
19.01.2018
07:53:01
а почему сразу не писать регион в таблицу? мы так делаем

Maxim
19.01.2018
08:05:05
моя проблема похожа на https://github.com/yandex/ClickHouse/issues/973 только у меня нет репликации

Konstantin
19.01.2018
08:05:54
чем вы стримите данные метрики в кликхаус?

Maxim
19.01.2018
08:11:02
чем вы стримите данные метрики в кликхаус?
если это мне - то самописным кодом, вливаю пачками по 100к записей

Konstantin
19.01.2018
08:12:06
спасибо

Константин
19.01.2018
08:18:05
а почему сразу не писать регион в таблицу? мы так делаем
На будущее так можно сделать, но на данный момент - требуется решение для анализа исторических данных.

Так как хотелось бы сделать все рамках КХ, дабы не выносить данные куда-нибудь.

Firej
19.01.2018
08:20:55
ясненько, просто учитывая геобазу, думаю такой анализ будет доооолгим

Константин
19.01.2018
08:27:01
понятно, видимо прийдется доаггригировать на клиенте

Alexander
19.01.2018
10:13:25
Добрый день! есть ли какой-то способ найти все значения в столбце типа UInt32, для которых значение в следующей строке меньше значения в текущей? Данные отсортированы.

Vladimir
19.01.2018
10:14:56
я думаю группировка и сортировка тут в помощь

Сергей
19.01.2018
10:17:55
Добрый день, коллеги. Установили последний релиз КХ (version 1.1.54336) Хотели поиграться с функцией pointInPolygon, озвученной на последней презентации. Но в списке функций ее нет(. Подскажите в каком релизе функция будет доступна?

Nickolay
19.01.2018
11:37:23
Может кто сталкивался с такой проблемой обновления Enum: Имеется кластер из 4 серверов clickhouse в конфигурации - 2 шарда с репликацией, т.е. - на каждом сервере таблица ENGINE = MergeTree и ENGINE = Distributed(c_2shards_2replicas,... - обновили Enum8 добавили 5 новых значений - теперь в логах на серверах постоянно такие ошибки: 018.01.19 03:09:10.104499 [ 40 ] <Error> executeQuery: Code: 53, e.displayText() = DB::Exception: Type mismatch for column event_type. Column has type Enum8('UNKNOWN' = 0, 'OTHER' = 1,..., 'WEBOS_3' = 36), e.what() = DB::Exception 192.168.1.16:55679) (in query: INSERT INTO test.log_local (event_timestamp, event_status,...) FORMAT TabSeparated), Stack trace: 0. clickhouse-server(StackTrace::StackTrace()+0x15) [0x733b6b5] 1. clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x1e) [0x19ce42e] 2. clickhouse-server(DB::ITableDeclaration::check(DB::Block const&, bool) const+0xdec) [0x68191ac] 3. clickhouse-server(DB::MergeTreeDataWriter::splitBlockIntoParts(DB::Block const&)+0xa6) [0x68df4f6] 4. clickhouse-server(DB::MergeTreeBlockOutputStream::write(DB::Block const&)+0x55) [0x6894645] 5. clickhouse-server(DB::PushingToViewsBlockOutputStream::write(DB::Block const&)+0x41) [0x6a1d3a1] 6. clickhouse-server(DB::MaterializingBlockOutputStream::write(DB::Block const&)+0x36) [0x66f0ef6] INSERT с клиента отрабатывает без ошибок на любом из 4-х clickhouse с новыми значениями Enum8, SELECT возвращает вставленные новые значения. А в логах в фоне постоянно идут такие ошибки. Как решить? Появилась проблема на версии 1.1.54289, сегодня обновили до 1.1.54337 - без изменений.

Roman
19.01.2018
11:40:03
Привет! Использую КХ 1.1.54327, пытаюсь выгрузить в файл часть данных из большой таблицы. Запрос типа clickhouse-client --query="select * from $table where id in(...)" --format=Native > dump без сортировок или группировок. Во время выполнения запроса, КХ начинает потреблять довольно много памяти. На сервере 32ГБ и они могут быть израсходованы в течении 30минут выгрузки, после чего запрос прерывается с ошибкой: DB::Exception: Allocator: Cannot malloc 32.00 MiB., errno: 12, strerror: Cannot allocate memory. Но память все равно не освобождается даже после прерывания запроса. В system.processess при этом ничего нет. Если смотреть потребление памяти запроса во время выполнения в system.processess, то оно тоже минимально - в пределах 100Мб. Настройки выставлены в: │ max_block_size │ 8192 │ 1 │ │ max_threads │ 1 │ 1 │ | max_memory_usage_for_all_queries │ 10000000000 Сервер используется только для цели выгрузки архивных данных, никаких других задач на нем не выполняется: никаких вставок и выборок Может кто-то сталкивался с подобным?

Maxim
19.01.2018
12:18:33
обновился до 54337, перестали писаться логи в /var/log/clickhouse-server/ все пишется в сислог, так и должно быть?

Илья
19.01.2018
12:29:13
подскажите, для ReplacingMergeTree возможно использовать столбец для суммирования (по аналогии с SummingMergeTree)?

задача сохранить поле из первой записи и посчитать количество дублей

Google
R-omk
19.01.2018
12:31:13
у кого нибудь есть Dockerfile который из исходников собирает ClickHouse?

Artiom
19.01.2018
12:36:33
хотя это не сборка совсем, а установка ?

R-omk
19.01.2018
12:55:44
Поэтому и спрашиваю сборку

Mike
19.01.2018
13:39:51
да, это баг.
Тоесть 337 пока ставить не стоит?

Mikhail
19.01.2018
13:42:07
prll
19.01.2018
13:42:17
Это баг только в /etc/systemd/system/clickhouse-server.service

можно руками выключить этот сервис и запуситить по старинке в init.d

Evgenii
19.01.2018
14:04:17
Вопрос по clickhouse в docker, у всех проблема, что в докере он не пишет логи в файл указанный в конфиге?

prll
19.01.2018
14:16:05
да, см выше

Vadim
19.01.2018
16:00:47
Доброго дня. В changelog'е не сказано, но в новой версии кликхауса при определении полей с типом AggregationFunction для квантилей стало необходимо явно указывать список расчитываемых квантилей. То есть в предыдущей версии можно было создать таблицу AggregateFunction(quantilesIf, Float32, UInt8). В новой - только AggregateFunction(quantilesIf(0.5, 0.9), Float32, UInt8) Прчием, если таблицы в старом формате существовали - то в новом не получится даже стартовать сервер не обновив таблицы

DB::Exception: Aggregate function for calculation of multiple quantiles require at least one parameter, stack trace: 0. /usr/bin/clickhouse-server(StackTrace::StackTrace()+0x15) [0x733b6b5] 1. /usr/bin/clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x1e) [0x19ce42e]

Alex
19.01.2018
16:07:00
Плюсую вопрос. Из колонки с типом quantiles можно же любой квантиль вычислить?!

Igor
19.01.2018
16:07:51
Здравствуйте, подскажите пожалуйста как лучше всего сохранять Дату-Время в Кликхаус, чтобы потом удобно было использовать в Tableau для построения репортов. Из поля в формате DateTime Tableau считать дату нормально не может и выдает ошибку.

?Ivan
19.01.2018
16:45:42
хранить timestamp в UInt64 и в табло конвертировать

Firej
19.01.2018
16:52:47
товарищи! получаю на старте сервера такую штуку - 2018.01.19 19:52:12.142318 [ 1 ] <Error> Application: DB::Exception: Cannot create table from metadata file /var/lib/clickhouse/metadata/some//blockdisplay_lr.sql, error: DB::Exception: The local set of parts of table blockdisplay_lr doesn't look like the set of parts in ZooKeeper. There are 11 unexpected parts (10 of them is not just-written), 2 unexpectedly merged parts, 22 missing obsolete parts, 0 missing parts, stack trace:

понимаю так что в зукипере чтото потерялось, но можно ли это както починить?

Дмитрий
19.01.2018
16:56:46
sudo -u clickhouse touch /var/lib/clickhouse/flags/force_restore_data

Google
Дмитрий
19.01.2018
16:56:56
и пинком сервиса

Firej
19.01.2018
16:57:43
а это никак не повредит репликации? я в принципе могу наверное достать данные зукипера, только непонятно где они должны лежать )

хм спасибо, заработало вроде )

Alexey
19.01.2018
19:17:33
Доброго дня. В changelog'е не сказано, но в новой версии кликхауса при определении полей с типом AggregationFunction для квантилей стало необходимо явно указывать список расчитываемых квантилей. То есть в предыдущей версии можно было создать таблицу AggregateFunction(quantilesIf, Float32, UInt8). В новой - только AggregateFunction(quantilesIf(0.5, 0.9), Float32, UInt8) Прчием, если таблицы в старом формате существовали - то в новом не получится даже стартовать сервер не обновив таблицы
Да, из одного и того же состояния quantiles можно получать любые квантили - то есть, параметры не влияют на состояние. Но например, для функции uniqUpTo указание параметров важно для формата состояния, и что получится, если в типе AggreateFunction их не указать - неизвестно. Мы вовсе не предполагали, что у нас существует возможность не задавать параметры в типе AggregateFunction. То есть, такая возможность существовала случайно. Тем не менее, сейчас посмотрим, как сделать, чтобы эта случайная фича продолжила работать.

Firej
19.01.2018
19:18:48
спасибо )

а если было два зукипера, но один сдох - работать ничего не будет, да? )

Alexey
19.01.2018
19:20:19
Если был кластер ZK из двух нод и одна умерла, то ZK не будет работать. Для отказоустойчивого ZK надо три ноды.

Firej
19.01.2018
19:20:42
ок, спасибо ) надо будет чтонибудь придумать с этим

Alexey
19.01.2018
20:17:57
Добрый день, коллеги. Установили последний релиз КХ (version 1.1.54336) Хотели поиграться с функцией pointInPolygon, озвученной на последней презентации. Но в списке функций ее нет(. Подскажите в каком релизе функция будет доступна?
Функция pointInPolygon отсутствует в документации, но уже доступна для использования. Она есть и в предыдущем релизе. Пример: SELECT pointInPolygon((x, y), [(6, 0), (8, 4), (5, 8), (0, 2), (6, 0)]);

Сергей
19.01.2018
20:23:30
@milovidov_an мы используем 1.1.54336 там нет функции. Релиз ClickHouse 1.1.54292, 2017-09-20Новые возможности:Добавлена функция pointInPolygon для работы с координатами на плоскости. Что-то не сходится. Может потерялась?

Alexey
19.01.2018
20:27:01
$ clickhouse-client ClickHouse client version 1.1.54336. Connecting to localhost:9000. Connected to ClickHouse server version 1.1.54336. :) SELECT pointInPolygon((1.0, 1.0), [(6, 0), (8, 4), (5, 8), (0, 2), (6, 0)]); SELECT pointInPolygon((1., 1.), [(6, 0), (8, 4), (5, 8), (0, 2), (6, 0)]) ┌─pointInPolygon(tuple(1., 1.), array(tuple(6, 0), tuple(8, 4), tuple(5, 8), tuple(0, 2), tuple(6, 0)))─┐ │ 0 │ └───────────────────────────────────────────────────────────────────────────────────────────────────────┘

Сергей
19.01.2018
20:27:51
Очень странно, будем разбираться. Спасибо.

Александр
19.01.2018
20:33:17
Очень странно, будем разбираться. Спасибо.
Глупый вопрос, наверное, а сервер после обновления рестартили? :)

Сергей
19.01.2018
20:37:34
Собирали под centos, нет готового пакета, возможно криво собрали.

Alexey
19.01.2018
20:50:58
https://packagecloud.io/altinity/clickhouse

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