@clickhouse_ru

Страница 229 из 723
Геннадий
08.08.2017
08:52:11
вернул взад ноду /clickhouse/tables/{SHARD}/billy_securitylog/block_numbers/201708/

КХ стал писать что нода /clickhouse/tables/{SHARD}/billy_securitylog/block_numbers/201708/block- существует

грохнул все ноды /clickhouse/tables/{SHARD}/billy_securitylog/block_numbers/201708/block*

запись пошла

Google
Igor
08.08.2017
09:33:20
DB::Exception: Size of filter doesn't match size of column.. Кто то знает как побороть такую ошибку Такой запрос проходит SELECT * FROM sm.views WHERE create_date=today() and url_domain ='smi2.ru' LIMIT 1 А вот такой падает с ошибкой SELECT * FROM sm.views WHERE create_date=today() and url_domain ='smi2.net' LIMIT 1 Отличие только в url_domain

Александр
08.08.2017
09:34:39
А там не fixed string?

Просто такое только в одном месте есть в КХ https://github.com/yandex/ClickHouse/blob/master/dbms/src/Columns/ColumnFixedString.cpp

Хотя нет, есть и в других колонках

А в логах КХ посмотрите трейс, там должно быть написано откуда именно такое валится

И будет более понятно

Igor
08.08.2017
09:48:28
А в логах КХ посмотрите трейс, там должно быть написано откуда именно такое валится
Trace https://gist.github.com/isublimity/7e28cd3f335210a4d3ce56fe2ac4059f 1. clickhouse-server(DB::Exception::Exception(std::string const&, int)+0x1f) [0x1046ebf]

Формат колонки String

Разобрался - у нас в таблице FixedString - и в них hex данные - если их не извлекать ошибки нет

Буду разбираться в сырцах и что мы напихали в CH Спасибо за наводку

Google
Nikolai
08.08.2017
09:53:46
и все-таки какая версия CH?

Igor
08.08.2017
09:55:07
ClickHouse 1.1.54262 testing

Vladislav
08.08.2017
10:07:44
а можно как-нибудь сконвертить строку в массив символов? типа splitByChar, только без первого аргумента

Nikolai
08.08.2017
10:12:22
ClickHouse 1.1.54262 testing
теоретически, обновление до 1.1.54266 должно помочь

Roman
08.08.2017
12:48:15
а как выглядит рекомендованный способ размазывания данных по кластеру с т.з. clickhouse? Вот, к примеру, у меня есть 4 ноды. Как я понял из документации, по-хорошему, я делаю 2 шарда, у каждого 2 реплики. Но тогда, в общем случае, если я запускаю тажелый запрос, то только 2 из 4х нод будут его процессить, остальные будут стоять и ничего не делать.

возможно ли для таких случаев сделать 4 шарда по 2 реплики, но намазать это на кластер из 4х нод?

Евгений
08.08.2017
12:51:36
А будут только единичные запросы или какой-то поток?

Roman
08.08.2017
12:52:48
я намек про throughtput понял. запросов будет поток, но весьма жиденький. поэтому между latency/throughtput хотелось бы выбрать latency.

а то как я понял из активного гуглежа, такой сетап возможен, но через попу: https://github.com/yandex/ClickHouse/issues/508

Sergey
08.08.2017
14:13:34
Добрый день! Подскажите, можно как-то в КХ добиться функционала FIRTST/LAST агрегаций?

Roman
08.08.2017
14:23:00
мне всегда казалось, что first/last агрегации недетерминированы, так как данные хз в какой последовательности будут читаться. а какой use-case для этого?

Вася
08.08.2017
14:25:10
Sergey
08.08.2017
14:28:49
спасибо!

Alexander
08.08.2017
17:46:20
А mark указывает на строку сжатых данных или разжатых?

Dmitry
08.08.2017
17:47:23
Andrey расскажет, он ставил :)

Andrey
08.08.2017
17:55:33
Andrey расскажет, он ставил :)
Как обычно, выкачав с репозитория Яндекс

Alexey
08.08.2017
18:18:56
А mark указывает на строку сжатых данных или разжатых?
https://github.com/yandex/ClickHouse/blob/master/dbms/src/DataStreams/MarkInCompressedFile.h

Google
Vladimir
08.08.2017
18:33:46
Как обычно, выкачав с репозитория Яндекс
То есть готового пакета как и готового image нет и неизвестно когда будет?

Fike
08.08.2017
18:35:40
http://repo.yandex.ru/clickhouse/xenial/pool/main/c/clickhouse/ вроде там версии более свежие, чем указанная 244

Vladimir
08.08.2017
18:50:43
Спасибо!!

:) select timezone(); SELECT timezone() ┌─timezone()─┐ │ Zulu │ └────────────┘ Ребят а где выставить? пробовал в config.xml timezone

Alexey
08.08.2017
20:00:34
Разве в конфиге не работает?

Vladimir
08.08.2017
20:01:39
<?xml version="1.0"?> <yandex> <logger> <level>trace</level> <log>/var/log/clickhouse-server/clickhouse-server.log</log> <errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog> <size>1000M</size> <count>10</count> </logger> <timezone>UTC</timezone>

Разве в конфиге не работает?
может не там прописал?

Alexey
08.08.2017
20:02:50
Но UTC - это и есть Zulu.

Сервер выводит некое каноническое имя, которое для UTC равно Zulu.

Vladimir
08.08.2017
20:03:43
Но UTC - это и есть Zulu.
странно)) спасибо. просто привык UTC

Ребят подскажите а где можно про Dictionary table посмотреть?

Alexey
08.08.2017
20:27:59
Самое простое: CREATE DATABASE dictionaries ENGINE = Dictionary

Alexander
08.08.2017
20:30:17
Признаться тоже не очень понятно что это за энджин. Это просто по сути виртуальный слепок куска dictionaries из конфига?

Vladimir
08.08.2017
20:34:20
Самое простое: CREATE DATABASE dictionaries ENGINE = Dictionary
а посложнее? Просто это отдельная таблица не связанная со словарями или же можно указать словарь из которого она берет значения?

Alexey
08.08.2017
20:36:35
Это пример, как создать базу данных, в которой автоматически содержатся таблицы для словарей.

Также таблицы для словарей можно создавать и по отдельности.

Алексей
08.08.2017
20:51:04
Господа, а есть какойто формат TabSeparatedGziped. хочу вытащить одну табличку, 18 гигов в кх, а в TabSeparated уже 340 гигов. и судя по бегунку это только 70%.

Mike
08.08.2017
21:13:48
Можно стримить в гзип, вероятно.

Алексей
08.08.2017
21:14:58
ну если формата нету то так и придется делать

Mike
08.08.2017
21:16:30
Не за компом, чтобы проверить, но типа «кх-клиент -ку “селект * фром интернет формат табсепарэйтед“ | gzip > результат.tsv.gz» должно сработать в какой-то вариации

Google
Mike
08.08.2017
21:17:56
Если вы понимаете, о чем я

Алексей
08.08.2017
22:15:56
да. сотворил уже гадость на базе btrfs с онлайн сжатием.

спасибо

Stas
09.08.2017
05:43:27
@milovidov_an спам опять :(

Admin
ERROR: S client not available

Mike
09.08.2017
06:49:23
Вася
09.08.2017
06:53:56
Есть же clickhouse-compressor.

Проверил, вот так работает: $ clickhouse-client --query 'SELECT * FROM test FORMAT Native' | clickhouse-compressor > test.compressed $ cat test.compressed | clickhouse-compressor -d | clickhouse-client --query 'INSERT INTO test FORMAT Native'

Roman
09.08.2017
07:22:55
а что мешает вместо clickhouse-compressor использовать любой другой сжимальщик? Я даже не знал о таких проблемах, жил себе с "... | pv | zstd > table.csv.zstd" и "cat table.zstd | pv | zstd -d | clickhouse-client --query ..."

Вася
09.08.2017
08:08:23
Да в принципе ничего. Разве что сжатие должно получиться ровно такое же как внутри кх. Удобнее ориентироваться какой размер в итоге получится.

Алексей
09.08.2017
08:28:53
Кх клиент в докер-компоузе не удобно туда пайпы фигачить.

Dmitry
09.08.2017
08:32:59
Для ENGINE = Distributed() ZK нужен вообще?

Старый
09.08.2017
08:39:46
mkfs.btrfs ;) compression=lzo
да это можно было и в fstab

Andrey
09.08.2017
08:44:16
Для ENGINE = Distributed() ZK нужен вообще?
ZK нужен для репликации. Остальное работает без него

Dmitry
09.08.2017
08:45:29
то есть если мы буферизуем, шардируем и реплицируем внешним процессом, можно использовать CH без ZK?

Алексей
09.08.2017
08:48:09
DDL же еще

Roman
09.08.2017
08:48:37
как я понял, если ваш собственный репликатор умеет обрабатывать падения нод (к примеру, если реплика легла, а потом поднялась через час, то залить в нее пропущенные данные), то зк и не нужен.

в противном случае будет рассинхронизация реплик, тлен и тоска.

Google
Dmitry
09.08.2017
08:52:42
ну да, если реплика легла и запись остановилась, в очереди сохранит

Alex
09.08.2017
08:54:16
А посоветуйте, пожалуйста, оптимизации для компрессии. Импортирую данные в CH из ORC. В ORC данные лежат в одной таблице, занимают 10G. В CH данные лежат в 450 таблицах, занимают 30Gb. Что следует покрутить? Уже очень обидно за такую сильную разницу.

Tima
09.08.2017
08:54:54
А посоветуйте, пожалуйста, оптимизации для компрессии. Импортирую данные в CH из ORC. В ORC данные лежат в одной таблице, занимают 10G. В CH данные лежат в 450 таблицах, занимают 30Gb. Что следует покрутить? Уже очень обидно за такую сильную разницу.
А почему не хранить так же в одной таблице? Зачем разделать на 450 таблиц? Если потом нужно будет сджоинить данные - скорее всего либо не получиться. либо будет медленно работать

Alex
09.08.2017
08:59:07
Эвенты различаются аттрибутивков

*аттрибутивкой

в ORC это Map<String,String>

в CH - отдельные таблицы и колонки для эвентов

Tima
09.08.2017
09:00:42
В CH есть Nested-колонки https://clickhouse.yandex/docs/ru/data_types/nested_data_structures/nested.html

По сути это вложеная таблица

Alex
09.08.2017
09:02:56
Т.е. вы предлагаете под каждый тип эвента завести вложенную структуру?

Меня вот это смущает: Работоспособность запроса ALTER для элементов вложенных структур данных, является сильно ограниченной.

Т.к. у эвентов иногда происходит добавление/удаление полей

Tima
09.08.2017
09:04:19
А как в ORC это происходит? Разве можно менять колонки в файле?

Т.е. вы предлагаете под каждый тип эвента завести вложенную структуру?
Если их не десятки тысяч - это может быть вариантом

Alex
09.08.2017
09:13:21
А как в ORC это происходит? Разве можно менять колонки в файле?
В ORC новые аттрибуты конкретных событий появляются в Map<String,String> - т.е. туда можно класть что угодно. Из документации CH не вполне ясно - можно ли безболезненно добавлять/удалять колонки вложенных структур

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