
Pavel
03.09.2018
13:00:53
Я правильно понимаю, что таймзона в toDateTime только для того, чтоб привести время в нужном поясе в качестве стринг,
но она не используется при попытке время привести к секундам?
select
toDateTime(1535979088, 'Europe/Helsinki'),
toDateTime(1535979088),
toInt32(toDateTime(1535979088, 'Europe/Helsinki')),
toInt32(toDateTime(1535979088)),
timezone()

Michal
03.09.2018
13:13:44

Pavel
03.09.2018
13:16:20

Алексей
03.09.2018
13:24:44

Google

Alexander
03.09.2018
13:26:39

Michal
03.09.2018
13:26:41
Можно для всей колонки таблицы CREATE TABLE tz_test (ts DateTime('UTC')) ...
Ну или в селектах добавлять


Андрей
03.09.2018
13:53:15
Кто нибудь знает что означает в log файле clickhouse-server значения в квадратных скобках в каждой строке после колонкивремени( например [3], [21] и так далее...)?

G
03.09.2018
14:00:25

Vadim
03.09.2018
14:05:49

G
03.09.2018
14:10:21

Michal
03.09.2018
14:11:51
а в фигурных скобках {} - query_id.
https://github.com/yandex/ClickHouse/blob/master/libs/libdaemon/src/OwnPatternFormatter.cpp

Андрей
03.09.2018
14:37:53

Google

Daniel
03.09.2018
14:40:02
Столкнулся с интересной проблемой: выгружен файл из кликхауса на другом сервере как tsv, смотрел спецсимволы через vi - действительно tsv.
Вгружается с помощью Clickhouse-Client в кх в таблицу типа Memory - и вот начинаются странности: строки String становятся числами, причём какой-то рандом.
Может, кто-то может объяснить или выразить предположение, отчего так?
И я так понимаю DateTime столбец для Memory движка не нужен же?

Michal
03.09.2018
15:01:07


Alexey
03.09.2018
15:24:29
То есть, вы смотрели не то.
По поводу сжатия - данные всегда сжимаются,
только если в конфиге специально не был прописан метод сжатия none. Про такую возможность мало кто знает и она по большей части бесполезна.

Michael
03.09.2018
15:32:56
Добрый день. Кластер из трёх нод, каждая из которых является репликой для своего шарда и для одного из соседних (перекрёстная репликация). При отвале ноды и её переподключении с восстановлением структуры таблиц ошибка "путь в зукипере уже существует". Можно было бы удалять скриптом, но там значение - массив, который нельзя удалять целиком:
replicas:[1,2]
Подскажите, как побороть?

Alexey
03.09.2018
15:51:06
https://www.youtube.com/playlist?list=PLQC2_0cDcSKC67lFACl5wAeCOHS6J_XaN

Michal
03.09.2018
15:52:46

Cyrus
03.09.2018
15:54:38
Привет, а запрос с sample должен ведь работать быстрее, чем без примерно весгда? У меня есть ReplicatedMergeTree в котороым при сэмплинге выше 0.1 скорость ниже чем без сэмплинга, и я вот слегка затрудняюсь понять что происходит

Vadim
03.09.2018
15:58:26

Cyrus
03.09.2018
16:01:59

Michael
03.09.2018
16:03:48
@milovidov_an, @mfilimonov, спасибо

Vadim
03.09.2018
16:06:00

Michal
03.09.2018
16:14:29

Alexey
03.09.2018
16:18:20

Cyrus
03.09.2018
16:23:42

Evgeniy
03.09.2018
16:57:31

Alexey
03.09.2018
17:07:13

Google

Tima
03.09.2018
18:39:23

Daniel
03.09.2018
19:23:42

Konstantin
03.09.2018
20:11:00
Кажется, я заставил ClickHouse тормозить

Victor
03.09.2018
20:11:24

nikoinlove
03.09.2018
20:11:34
Это оффтопик!

Konstantin
03.09.2018
20:13:35
У меня есть несколько процессов, которые вставляют данные через POST - TSV, перед вставкой они делают SELECT 1.
Что-то пошло не так и SELECT 1 стал отрабатывать дольше, чем ClickHouse отвечает, они отваливались по таймауту и через чуть-чуть пробовали ещё раз
в результате, видимо, этих SELECT 1 накопилось так много, что оно еле ворочается, даже трейсбеки (о том, что не могут записать результат в HTTP response) записываются в лог с тормозами
SHOW PROCESSLIST отрабатывал минут 10 и показал 82 запроса, из них - вставки (самому старому - 4000 секунд), остальные - те самые SELECT 1
В чём юмор про два байта?

Victor
03.09.2018
20:18:28
В чём юмор про два байта?
известная цитата из доклада Алексея, что два байта... пауза... не жалко.
Был разговор о том как разные данные эффективнее хранить и много прикол про другие отделы яндекса, которые называть не будем

Konstantin
03.09.2018
20:19:32
а, помню что-то такое, хоть и без конкретики

Victor
03.09.2018
20:21:01
https://youtu.be/Ac2C2G2g8Cg
очень крутой доклад
https://youtu.be/Ac2C2G2g8Cg?t=20m54s вот, нашёл


prll
03.09.2018
20:34:33
Добрый вечер, в документации источника внешнего словаря по http:
https://clickhouse.yandex/docs/ru/query_language/dicts/external_dicts_dict_sources/#dicts-external_dicts_dict_sources-http
написано, что «Если тип размещения словаря cache и complex_key_cache, то ClickHouse запрашивает необходимые ключи, отправляя запрос методом POST» Можете пожалуйста разъяснить этот момент поподробнее, сейчас сделал внешний словарь на http сервер, и при его использовании на сервер приходит пустой POST запрос.
<yandex>
<dictionary>
<name>ext_test</name>
<source>
<http>
<url>http://localhost/dict.php</url>
<format>TabSeparated</format>
</http>
</source>
<layout>
<cache>
<size_in_cells>10000</size_in_cells>
</cache>
</layout>
<structure>
<id>
<name>ip</name>
</id>
<attribute>
<name>city_id</name>
<type>UInt64</type>
<null_value>0</null_value>
</attribute>
</structure>
<lifetime>3600</lifetime>
</dictionary>
</yandex>
select toUInt64(ip),dictGetUInt64('ext_test','city_id',toUInt64(ip)) city_id FROM test.test where hour = 426517 LIMIT 10
что-то сломалось, будем починить.


Dmitry
04.09.2018
07:36:42
Добрый день, возник вопрос: использую официальный JDBC драйвер КХ, пишу разными потоками в разные таблицы через спринговый JdbcTemplate которому подсунут ClickhouseDatasource, стабильно вываливается ошибка
Code: 373, e.displayText() = DB::Exception: Session is locked by a concurrent client.
Подскажите куда копать?

Tima
04.09.2018
07:47:54

Kirill
04.09.2018
07:48:11

Dmitry
04.09.2018
07:49:57

Tima
04.09.2018
07:53:21

Vasiliy
04.09.2018
07:54:28

Google

Andrii
04.09.2018
07:58:44
Да, воткните в сервера больше дисков, КХ нормальное долгосрочное хранилище
мы малюсинький стартапчик в котором количество данных планирует увеличиватся(мы надеемся) и если оно увеличится хотя бы в 10 раз мы будем генерировать 100 гб сырых данных в день, в долгосрочной перспективе мы исчерпаем возможности по увелечению диска. а так сырые данные я преображаю и записываю в инфлюкс(получается очень компактно где-то 5 MB инфлюксовских данных равняются выборке из 100 GB сырых). Но руководство и маркетинг хотят по какой-то причине хранить сырые данные

Wolf
04.09.2018
08:01:01

Denis
04.09.2018
08:05:14

Stanislav
04.09.2018
08:09:33
Инфлюкс умеет continuous query
В смысле - сам агрегирует сырые данные в архив

Daniel
04.09.2018
08:12:00
Доброго дня, подскажите Python библиотеку для работы с КХ, в которой можно открыть коннект и посылать запросы в рамках одного коннекта, а не открывать новый для каждого нового запроса.

Denis
04.09.2018
08:12:08
мат вью поверх таблицы с аггрегирующими функциями...
а если надо исходные данные пожать, так кх их и так жмёт. блоки строк-то lz4 жмутся.

Tima
04.09.2018
08:13:36

Dmitry
04.09.2018
08:15:14

Daniel
04.09.2018
08:15:54

Tima
04.09.2018
08:30:04
У вас в среднем запрос сколько выполняется? А сколько тратиться на подключение-отключение?
Нагрузка КХ подразумевает что запросов выполняется сравнительно небольшое кол-во. Больше 100 - уже будут проблемы, в независимости что считаете. Так что пока непонятно зачем вам постоянное подключение


Michael
04.09.2018
09:22:59
Добрый день. Кластер из трёх нод, на каждом ноде две таблицы. Первая - реплика своего шарда; вторая - реплика для одного из соседних (перекрёстная репликация). При записи данные реплицируются в одноимённые таблицы (myTableShard), а не в myTableShardReplica, которые созданы в качестве реплик. Подскажите, пожалуйста, что делаю не так?
CREATE TABLE IF NOT EXISTS myTableShard (
date Date,
unix_ts UInt64
) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/01/myTableShard', 'node1.a', date) PARTITION BY date ORDER BY unix_ts;
CREATE TABLE IF NOT EXISTS myTableShardReplica (
date Date,
unix_ts UInt64
) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/03/myTableShard', 'node1.a', date) PARTITION BY date ORDER BY unix_ts;
CREATE TABLE IF NOT EXISTS myTable AS myTableShard ENGINE = Distributed(clusterName, test, myTableShard, `unix_ts`);


Anisim
04.09.2018
10:42:16
Опубликованы видеозаписи докладов ClickHouse Meetup в Петербурге, который состоялся 16 августа.
Насладиться ими можно на странице мероприятия: https://events.yandex.ru/events/ClickHouse/16-aug-2018/

Evgenii
04.09.2018
11:01:50
ZooKeeper: There are 550000 active watches. There must be a leak somewhere - добрый день, ткните пальцем в какую сторону смотреть?

Alex
04.09.2018
11:02:27
слишком много Replicated таблиц?

Evgenii
04.09.2018
11:03:22
9 таблиц
началось после переезда кластера в другой дц, сначала три сервера добавили из нового дц и потом три вывели из работы в старом дц
может происходить из-за мертвых реплик?

Alexander
04.09.2018
11:17:49
подскажите, можно ли ch как-то попросить "увидеть" внутри подзапроса выражения объявленные в блоке with перед внешним запросом?
Что-то типа такого:
WITH 1 + 1 AS two
SELECT *
FROM
(
SELECT two + 1
)

Google

Anastasia
04.09.2018
11:24:40
Всем привет
Есть таблицы
- Потребитель Kafka.
- Целевая таблица с необходимой структурой.
- И материализованное представление.
Материализованное представление перекладывает данные из очереди (потребитель Kafka) в целевую таблицу.
Данные поступают непрерывно, и в целевой таблице появляются пачками, в моих тестах через 15 минут.
Для моих целей это очень долго, и я хочу управлять этим временем, сделать этот период поменьше.
Судя по тому что вижу, матерализованное представление пишет данные пачками по 256 МБ, вроде бы.
Сбственно вопрос какими настройками конфигурируется состояние, при котором произойдет запись в целевую таблицу?
Уменьшила min_insert_block_size_bytes в 1024 раза до 262144
На всякий случай уменьшила min_insert_block_size_rows до 1024
Но ничего не изменилось

Dmitry
04.09.2018
11:28:40
а возможно после insert в replacingmergetree и select final посмотреть предыдущие данные, которые были замены ?

Маркел
04.09.2018
11:38:45

Anastasia
04.09.2018
11:39:46

Маркел
04.09.2018
11:41:35
Тогда уменьшение max_block_size?

Anastasia
04.09.2018
11:52:15

Alexey
04.09.2018
11:52:21

Tima
04.09.2018
12:04:16
Кто-нибудь дружил КХ и MySQL, если оба в контейнере? КХ не видит MySQL, пишет
Poco::Exception. Code: 1000, e.code() = 2002, e.displayText() = mysqlxx::ConnectionFailed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) ((nullptr):0), e.what() = mysqlxx::ConnectionFailed

Denis
04.09.2018
12:17:59

Evgeny
04.09.2018
12:26:10

Tima
04.09.2018
12:26:38
Табличной функцией

Evgeny
04.09.2018
12:27:22
Как выглядит вызов функции?

Tima
04.09.2018
12:29:33

Evgeny
04.09.2018
12:35:50
есть только догадка, что порт не прослушивается или не видится из контейнера