
Evgeniy
06.09.2018
07:01:09


Kirill
06.09.2018
07:10:36
перезапустил с новыми настройками (max_block_size=1000, max_insert_block_size=1000, max_threads=1) - новая ошибка
↑ Progress: 441.17 million rows, 40.93 GB (6.91 million rows/s., 640.83 MB/s.) ████████████████████████████████████████▎ 64Received exception from server (version 18.10.3):
Code: 241. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Memory limit (for query) exceeded: would use 46.58 GiB (attempt to allocate chunk of 67108864 bytes), maximum: 46.57 GiB: (while reading column error): (while reading from part /var/lib/clickhouse/data/default/object_events_mt12/20180508_20180512_4650_4662_1/ from mark 240 with max_rows_to_read = 1000).
0 rows in set. Elapsed: 64.081 sec. Processed 441.17 million rows, 40.93 GB (6.88 million rows/s., 638.74 MB/s.)
max_bytes_before_external_group_by выставите, например, в 30GB, вы же там группируете и max_block_size в 8192 и попробуйте не все разом писать, движок еще в фоне все помержит


Michal
06.09.2018
07:13:27
Kirill, спасибо, вот структура
CREATE MATERIALIZED VIEW status_mv12 TO status_amt12
AS SELECT
created_at_d as created_at_d,
group_id as group_id,
user_id as user_id,
master_object_id as master_object_id,
argMaxState(object_id, event_ms_ts) AS last_object_id,
argMaxState(object_complete, event_ms_ts) AS object_complete,
argMaxState(object_complete_success, event_ms_ts) AS object_complete_success,
argMaxState(completed_at_dt, event_ms_ts) AS last_complete_dt,
argMaxState(error, event_ms_ts) AS last_error,
argMaxState(report, event_ms_ts) AS last_report
FROM status_amt12_null
GROUP BY created_at_d, group_id, user_id, master_object_id
у меня почему то возникает ощущение что настройки не применяются, например, я вижу что процентики бегут примерно с одинаковой скоростью независимо от настроек (визуальное ощущение, но я могу ошибаться)
Я так понимаю падает на POPULATE? Можно попробовать сделать populate "ручками". Проверьте кстати применились ли настройки (
select * from syatem.settings where changed=1
) для того пользователя которым создаёте mv, особенно max bytes before external group by.


Alexey
06.09.2018
07:15:02

Google

Alexey
06.09.2018
07:15:10
настройки проверю

Kirill
06.09.2018
07:18:56

Alexey
06.09.2018
07:19:21

Vladimir
06.09.2018
08:25:56
Привет! Подскажите, а можно как-то запросом посмотреть все имеющиеся словари?

Иван
06.09.2018
08:26:42

Vladimir
06.09.2018
08:27:13

⚓️Alexander
06.09.2018
08:50:27
Добрый день, ссылка из документации:
https://github.yandex-team.ru/raw/Metrika/ClickHouse_private/master/doc/create_embedded_geobase_dictionaries.txt
из документации по ссылке:
https://clickhouse.yandex/docs/ru/query_language/dicts/internal_dicts/#internal_dicts
Не рабочая

Konstantin
06.09.2018
09:37:34

Stanislav
06.09.2018
09:38:35
netstat -lntp что говорит про порт 8123 ?
И, кстати, clickhouse точно на localhost?

Konstantin
06.09.2018
09:39:33
vps да

Google

Stanislav
06.09.2018
09:40:29
на localhost там, где запускается броузер с tabix, да? ;-)
Табикс пытается подключиться к местному localhost и обламывается. А надо подключаться к адресу впс

Oleksii
06.09.2018
09:45:51
Подскажите плиз работает ли сейчас вставка данных в кликхаус со значениями NULL через питоновский jdbc драйвер?

Konstantin
06.09.2018
09:46:55

Stanislav
06.09.2018
09:47:48
Если заморачиваться за безопасность - можно пробрасывать порт через ssh, для тестов этого достаточно.

Evgeniy
06.09.2018
10:59:16
Какие есть ограничения на количество столбцов?
Несколько тысяч можно ?

Denis
06.09.2018
11:01:55
а есть какие-нибудь ограничение на кол-во колонок в таблице для Distributed движка?
получилась у нас тут таблица на 719 колонок
у нас 500+, не падает.
Такое количество столбцов - полностью нормально для ClickHouse.
В логах на 192.168.157.3 есть что-нибудь полезное? Например, фрагмент "###" - говорит, что сервер получил сигнал. Ниже будет указан стек трейс. Если нет - смотрите в dmesg.

Denis
06.09.2018
12:12:52


Konstantin
06.09.2018
12:13:03
Если данные есть в таблице, можно ли потом создать новую колонку в ней же?

Denis
06.09.2018
12:13:40
да, PK менять нельзя, просто колонки добавлять и удалять можно

Konstantin
06.09.2018
12:14:08
Спасибо

Vladimir
06.09.2018
12:20:00
Ребят вопрос - а cli client поддерживает автодополнение?

Daniel
06.09.2018
12:25:47
nope
если какие-то команды подсказать, пишите начало, типа truncate, жмёте энтер, в ошибке будут возможные варианты, как правильно продолжить

Michal
06.09.2018
13:26:49

mikhail
06.09.2018
13:35:57
Привет! Возможно название файла, который грузится в таблицу, добавить отдельным столбцом?

Denis
06.09.2018
13:36:35
это же просто текст, почему бы нет?

Google

mikhail
06.09.2018
13:37:14
А как? =)

Vladimir
06.09.2018
13:37:45

Denis
06.09.2018
13:38:45
а, который грузится через clickhouse-client? если формат tsv, то можно cat-sed магию накрутить

mikhail
06.09.2018
13:39:41
Примерно вот так гружу for i in $(find " + dir + " -type f); do gzip -cd $i | clickhouse-client -q 'insert into id_links format CSV' ;

Michal
06.09.2018
13:41:26
Круто было б!
уже в мастере ( https://github.com/yandex/ClickHouse/pull/2447 ) Если есть желание - можно пробовать свежие тестовые билды.

mikhail
06.09.2018
13:44:21

Андрей
06.09.2018
13:57:44
Подскажите кто сталкивался, пытаюсь добавить файл с макросами macros.xml в основном конфинге прописал <macros incl="macros">macros.xml</macros>
Сам файл лежит в /etc/clickhouse-server/conf.d права на месте, внутри
<?xml version="1.0"?>
<yandex>
<macros replace="replace">
<shard>01</shard>
<replica>01</replica>
</macros>
</yandex>
При создании реплицируемой таблицы ошибка
Code: 62, e.displayText() = DB::Exception: No macro shard in config, e.what() = DB::Exception
CH рестартовал, эффекта ноль.

Алексей
06.09.2018
14:05:14
Доброго дня, если я делаю условие сравнения datetime и date, то
1 кейс работает >=
select * from table where event_time >=toDate('2018-01-01')
2 запрос не отраатывает <=
select * from table where event_time <=toDate('2018-01-01')
ни одной строки не возвращается
кто мне ответит почему?
просто странное поведение

Sergii
06.09.2018
14:06:22
всем привет, а avgArray c NULL значенями внутри не работает? или может версия старая и уже работает?

Kirill
06.09.2018
14:06:35

Denis
06.09.2018
14:08:33
в v1.1.54390 кажется исправили

Алексей
06.09.2018
14:09:03
спасиб, думалось я что-то не то делаю
Там была бага со сравнением, возможно недопочинили, сделайте issue на github

Denis
06.09.2018
14:10:10

Андрей
06.09.2018
14:17:27

Sergii
06.09.2018
14:20:21

Denis
06.09.2018
14:20:52
значит пропустили эту функцию. надо новый issue завести

Google

molo4ko
06.09.2018
14:27:13
Планирую переехать с zookeeper 3.4 на 3.5, стоит ожидать подводных камней?

Wolf
06.09.2018
14:38:44
Сказать честно нет особого смысла переезжать

Alexey
06.09.2018
15:00:28
FYI У нас появились testing пакеты версии 18.12.6
https://repo.yandex.ru/clickhouse/deb/testing/main/
Пока продолжаем проверку на тестовой среде перед выкладкой в stable.

Артем
06.09.2018
15:05:12
Есть способ приведение к типу DateTime строки у которой формат не соответсвует "YYYY-MM-DD hh:mm:ss" ?

Alexey
06.09.2018
15:15:46

Артем
06.09.2018
15:20:16

Alexander
06.09.2018
15:35:00
Намекните, пожалуйста, если нужно из таблицы все пары строк по условию выбрать, как быть? С имеющимся джойном что-то не лепится.

Alexey
06.09.2018
15:41:13
А в insert никакого вычисления нет?
А insert проходит в null таблицу если не создавать MV?
report и error насколько большими по размеру могут быть?
в INSERT вычисления нет, report и error строки, могут быть в пределах килобайта, но вы правы - инсерт в нулл таблицу не проходит по причине нехватки памяти, это может быть из-за ORDER BY? Просто у events_mt12 уже в PK created_at_d, думал, бесплатно сортировка будет
INSERT INTO status_amt12_null SELECT
event_ms_ts,
created_at_d,
completed_at_dt,
group_id,
user_id,
master_object_id,
object_id,
object_complete,
object_complete_success,
error,
report
FROM events_mt12
ORDER BY created_at_d ASC


Kirill
06.09.2018
15:45:41
в INSERT вычисления нет, report и error строки, могут быть в пределах килобайта, но вы правы - инсерт в нулл таблицу не проходит по причине нехватки памяти, это может быть из-за ORDER BY? Просто у events_mt12 уже в PK created_at_d, думал, бесплатно сортировка будет
INSERT INTO status_amt12_null SELECT
event_ms_ts,
created_at_d,
completed_at_dt,
group_id,
user_id,
master_object_id,
object_id,
object_complete,
object_complete_success,
error,
report
FROM events_mt12
ORDER BY created_at_d ASC
Сортировка не бесплатна, но ее тоже можно вытеснить на диск max_bytes_before_external_sort

Alexey
06.09.2018
15:47:37

Michal
06.09.2018
15:52:31
(или мешать)


Alexey
06.09.2018
15:58:02
Так и знал что вы от нас что-то скрываете :) В том запросе который раньше показывали не было ORDER BY, и вообще ничего в нем не указывало что он может отвалиться по памяти при включенной группировке на диске. :)
Про медленно - да, INSERT ... SELECT не быстр. Тут как раз настройки размеров блоков могут помогать.
сорри, я не скопировал INSERT в чатик, надо было сразу это сделать. Вопрос в догонку (наверное, очевидный, но все-таки) - настройки, которые я делаю с помощью SET, только на эту сессию? Все остальные сессии будут использовать конфиг? Например, у меня будет сессия которая будет вставлять данные бОльшими кусками маленькие объемы (типа 1000 записей в секунду) и параллельно я запущу миграцию меньшими кусками и с бОльшими настройками памяти на сессию. Правильно я понимаю, что все должно работать и медленный инсерт не должен тормозить маленькие частые инсерты?

Michal
06.09.2018
16:00:47

Артем
06.09.2018
16:23:48
возможно ли сделать следующее,
имея одну строку, например
| 100 | 2018-08-01 | 2018-08-31 |
размножить эту строку сделав группировку по дням, т.е
| 100 | 2018-08-01 |
| 100 | 2018-08-02 |
...
| 100 | 2018-08-30 |
| 100 | 2018-08-31 |

papa
06.09.2018
16:24:47
можно
вычесть даты, получить длину для range, сочинить массив дат, потом array join

Артем
06.09.2018
16:26:46

prll
06.09.2018
17:00:25


Alexey
06.09.2018
17:20:40

Google

Alexey
06.09.2018
17:27:08
а как узнать, прошли бакграунд мержи в AggregatedMT или нет?

⚓️Alexander
06.09.2018
17:35:38

Denis
06.09.2018
17:45:31

Alexey
06.09.2018
17:47:16

Denis
06.09.2018
17:48:39
Может в MV строк столько же сколько в оригинальной таблице?

Alexey
06.09.2018
18:13:58

Denis
06.09.2018
18:18:39
Тогда вам этот MV не нужен. Вот если строк будет раз в 1000 меньше.

Alexey
06.09.2018
18:19:59