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

Alexey
18.01.2018
19:10:12

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. Смотрите подробнее в лог.

prll
18.01.2018
19:19:29


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

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

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
я думаю группировка и сортировка тут в помощь

Vladimir
19.01.2018
10:15:38

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

Alexander
19.01.2018
10:18:21


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?

prll
19.01.2018
12:32:24

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

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

strange
19.01.2018
12:58:51

Mike
19.01.2018
13:39:51

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