@clickhouse_ru

Страница 71 из 723
Alexander
17.02.2017
14:14:10
О, спасибо, Алексей!

Konstantin
17.02.2017
14:51:01
товарищи, а почему format TSVWithNames и CSVWithNames могут выдавать файл без заголовков?

Sergey
17.02.2017
15:00:52
Коллеги, а есть отдельный пункт где-нибудь про то, почему не все строки могут вставляться?

Батч говорит, что вставляет по 500к строк, а в БД их вставляется по 100-200к

Google
Igor
17.02.2017
15:10:39
Батч говорит, что вставляет по 500к строк, а в БД их вставляется по 100-200к
может режется проксей какой-нибудь? недавно у кого-то была проблема с недополучением данных, может с отправкой тоже может быть такое

Kirill
17.02.2017
15:16:24
ch не сможет распоковать только половину "строк", там в блоке данных колонка за колонкой идут (в батче), так что причину нужно искать до ch

Igor
17.02.2017
15:16:40
поэтому либо батч нагло врет, либо прокся где-нибудь между батчем и кх режет

ну, либо это бага в КХ :) очень большая и грустная

Sergey
17.02.2017
15:20:18
Это странно, т.к. в 2 другие таблицы этот же батч успешно пишет, поэтому и возник вопрос. Попробую поискать причины этого поведения

f1yegor
18.02.2017
10:26:08
как можно догадаться, хитрость в том, что гранулярность прийдется сделать гибкую
вы можете посмотреть тут https://github.com/Vertamedia/clickhouse-grafana ребята как раз генерят для динамической гранулярности

@maxlapshin ^

но в целом вроде такой же подход как у тебя

Maksim
18.02.2017
15:32:49
Спасибо

f1yegor
19.02.2017
09:22:46
@milovidov_an а сейчас есть возможность узнать сколько занимает индекс для различных таблиц в памяти?

select * from system.parts limit

primary_key_bytes_in_memory: 310 primary_key_bytes_in_memory_allocated: 74048

Google
f1yegor
19.02.2017
09:23:05
правильно?

select database, table, sum(primary_key_bytes_in_memory), sum(primary_key_bytes_in_memory_allocated) from system.parts group by database, table;

Dmitry
19.02.2017
10:52:53
не подскажите, нет ли какой функции как dictGetT('dict_name', 'attr_name', id), только мне нужно вытащить сразу несколько имен, т.е. не один id, а сразу по списку?

или можно как-то делать запрос к словарю, вроде select name from dict_name where id in (1,2,3)

papa
19.02.2017
16:07:41
arrayMap(k->getDict(..k), [1,2,3])

Dmitry
19.02.2017
16:09:14
а с точки зрения производительности это нормально?

Igor
19.02.2017
16:27:28
словарь один фиг в оперативке хранится

Dmitry
19.02.2017
16:47:16
хорошо, спасибо

papa
19.02.2017
17:22:29
а с точки зрения производительности это нормально?
запросы в словарь делаются пачками по ключам которые нашлись в блоке.

Dmitry
19.02.2017
17:22:52
спасибо

Dmitry
20.02.2017
01:02:18
Нас 400!

Shine
20.02.2017
01:02:47
это надо отметить

выкаткой апдейтов и делитов )

Олег
20.02.2017
05:11:53
Доброе утро. Читаю я тут документацию по AggregatingMergeTree, да по ReplacingMergeTree и думаю: то ли лыжи не едут… Написано, что оба дерева не доводят своё дело до конца: для оптимизации пообъединяют данные, но когда-нибудь потом, пока держите вот недособранные. Правильно я понимаю, что предлагаемый способ работы с этим — создавать цепочки view, первая — materialized, работающая на {Aggregating,Replacing}MergeTree, вторая — не materialized, берущая данные из первой и догрупировывающая как следует?

Alexander
20.02.2017
07:32:26
Второе вью для Aggregated не имеет смысла. Все равно же считаются суммы какие-то, то есть в конечном запросе есть группировка

Для Replacing -- зависит от того, что потом дальше с ним делать

Алина
20.02.2017
09:45:18
доброе утро подскажите, как писать поле Date при использовании формата вставки JSONEachRow пример: create table testone.table_date ( s String, d Date ) ENGINE = Memory; insert into testone.table_date format JSONEachRow { "d": 1243567543, "s": "hello"} ошибка: Code: 27, e.displayText() = DB::Exception: Cannot parse input: expected " before: 1243567543, "s": "hello"}\n: (at row 1), e.what() = DB::Exception

Igor
20.02.2017
09:47:38
"2017-01-01" например

Геннадий
20.02.2017
09:47:50
Здравсвуйте, а не подскажете где можно посмотреть почему clickhouse-server не стартует? в stderr ничего нет, в clickhouse-server.err.log тоже, systemctl пишет ● clickhouse-server.service - LSB: Yandex clickhouse-server daemon Loaded: loaded (/etc/init.d/clickhouse-server; bad; vendor preset: enabled) Active: active (exited) since Mon 2017-02-20 04:45:48 EST; 1min 50s ago Docs: man:systemd-sysv-generator(8) Process: 32032 ExecStop=/etc/init.d/clickhouse-server stop (code=exited, status=0/SUCCESS) Process: 32048 ExecStart=/etc/init.d/clickhouse-server start (code=exited, status=0/SUCCESS) Feb 20 04:45:47 clickhouse1 su[32088]: pam_unix(su:session): session opened for user clickhouse by (uid=0) Feb 20 04:45:48 clickhouse1 su[32105]: Successful su for clickhouse by root Feb 20 04:45:48 clickhouse1 su[32105]: + ??? root:clickhouse Feb 20 04:45:48 clickhouse1 su[32105]: pam_unix(su:session): session opened for user clickhouse by (uid=0) Feb 20 04:45:48 clickhouse1 su[32117]: Successful su for clickhouse by root Feb 20 04:45:48 clickhouse1 su[32117]: + ??? root:clickhouse Feb 20 04:45:48 clickhouse1 su[32117]: pam_unix(su:session): session opened for user clickhouse by (uid=0) Feb 20 04:45:48 clickhouse1 clickhouse-server[32048]: Start clickhouse-server service: DONE Feb 20 04:45:48 clickhouse1 systemd[1]: Started LSB: Yandex clickhouse-server daemon. Feb 20 04:46:11 clickhouse1 systemd[1]: Started LSB: Yandex clickhouse-server daemon.

Igor
20.02.2017
09:47:52
Date - это не DateTIme, туда нельзя запихнуть unix timestamp ) впрочем, даже в случае с DateTime не уверен, что там unix timestamp бы сожрался. В таком случае формат "2017-02-20 12:34:56"

Google
Igor
20.02.2017
09:49:45
Здравсвуйте, а не подскажете где можно посмотреть почему clickhouse-server не стартует? в stderr ничего нет, в clickhouse-server.err.log тоже, systemctl пишет ● clickhouse-server.service - LSB: Yandex clickhouse-server daemon Loaded: loaded (/etc/init.d/clickhouse-server; bad; vendor preset: enabled) Active: active (exited) since Mon 2017-02-20 04:45:48 EST; 1min 50s ago Docs: man:systemd-sysv-generator(8) Process: 32032 ExecStop=/etc/init.d/clickhouse-server stop (code=exited, status=0/SUCCESS) Process: 32048 ExecStart=/etc/init.d/clickhouse-server start (code=exited, status=0/SUCCESS) Feb 20 04:45:47 clickhouse1 su[32088]: pam_unix(su:session): session opened for user clickhouse by (uid=0) Feb 20 04:45:48 clickhouse1 su[32105]: Successful su for clickhouse by root Feb 20 04:45:48 clickhouse1 su[32105]: + ??? root:clickhouse Feb 20 04:45:48 clickhouse1 su[32105]: pam_unix(su:session): session opened for user clickhouse by (uid=0) Feb 20 04:45:48 clickhouse1 su[32117]: Successful su for clickhouse by root Feb 20 04:45:48 clickhouse1 su[32117]: + ??? root:clickhouse Feb 20 04:45:48 clickhouse1 su[32117]: pam_unix(su:session): session opened for user clickhouse by (uid=0) Feb 20 04:45:48 clickhouse1 clickhouse-server[32048]: Start clickhouse-server service: DONE Feb 20 04:45:48 clickhouse1 systemd[1]: Started LSB: Yandex clickhouse-server daemon. Feb 20 04:46:11 clickhouse1 systemd[1]: Started LSB: Yandex clickhouse-server daemon.
а почему под рутом? может не стартует потому что в конфиге остался юзер metrika/clickhouse, а не root?

Геннадий
20.02.2017
09:50:35
а он у меня всегда так работал

Igor
20.02.2017
09:51:00
там недавно был какой-то глобальный переезд с юзера metrika на юзера clickhouse, мб сломалось чего

Геннадий
20.02.2017
09:51:41
похоже я в конфиге ошибся, пробовал заинклюдить remote_servers

откатил, всё заработало

но больше то интересно получить какое то объяснение от CH

почему он не смог запуститься

Алина
20.02.2017
09:53:10
Геннадий
20.02.2017
11:07:51
а всё, видимо я плохо смотрел, в /var/log/clickhouse-server/clickhouse-server.err.log пишет ошибку запуска

f1yegor
20.02.2017
11:28:30
как можно оценить сколько записей хранится в одном index_granularity блоке? а то у меня запрос выгребает точно 10 записей, условие where совпадает с первичным ключем полностью, а Processed 54.91 thousand rows. я так подозреваю это 54к строчек в одном блоке?

Dmitry
20.02.2017
11:32:21
А данные вибираются из скольки партиций?

f1yegor
20.02.2017
11:32:50
двух

я сейчас проверил кейс с предаггрегацией данных, становится конечно быстрее, но <10ms не получается.

f1yegor
20.02.2017
12:56:20
ок, спасибо

в этой же строке правильно " Data is sorted by primary key. That way data is more compressable." видно я колебался)

Алексей
20.02.2017
16:01:01
поэксперементировал с словарями в монге. выяснилось что ошибка с 2017.02.20 15:58:51.040516 [ 6 ] <Error> HTTPHandler: Code: 293, e.displayText() = DB::Exception: Cannot authenticate in MongoDB: server returned response for 'authenticate' command that has field 'ok' missing or having wrong value, e.what() = DB::Exception, Stack trace: возникает только начиная с 1.1.54127. на 1.1.54112 словари подгружаются. но сильно трейсят.

Google
Алексей
20.02.2017
16:15:35
глядя на https://github.com/yandex/ClickHouse/compare/v1.1.54112-stable...v1.1.54127-stable?diff=split&name=v1.1.54127-stable думается мне что https://github.com/yandex/ClickHouse/commit/599308aef03bdfcf49778845dc69d2403b0b08ea могло быть не лучшей идей. хотя я тот еще чтец с++

Алексей
20.02.2017
16:28:36
авторизация настроена только по SHA

user pass заполнены

Константин
21.02.2017
06:29:02
Добрый день! Скажите, имея сейчас один сервер КХ, можно ли на его основе сделать кластер не теряя данные? И можно ли по ходу работы масштабировать кластер?

Алина
21.02.2017
10:04:00
Добрый день Подскажите, какого типа должно быть поле dateDetection, чтобы при create table testone.test ( dateDetection Int64, defaultDate Date DEFAULT toDate(dateDetection) ) ENGINE = Memory в defaultDate записывались правильные данные, а не "0000-00-00"

Igor
21.02.2017
10:04:51
а что в dateDetection, unix timestamp?

Алина
21.02.2017
10:05:45
да

Igor
21.02.2017
10:07:01
не вижу проблем с Int64 хотя UInt32 выглядел бы логичнее, надолго хватить должно еще

:) create database testone :) create table testone.test ( dateDetection Int64, defaultDate Date DEFAULT toDate(dateDetection) ) ENGINE = Memory ; :) insert into testone.test (dateDetection) VALUES (1487664736) :) select * from testone.test 1487664736 2017-02-21

у вас получается 0000-00-00, возможно, потому что вы при вставке таки вставляете что-то в defaultDate?

Алина
21.02.2017
10:08:49
если вставлять так: insert into testone.test format JSONEachRow {"dateDetection": "1487664735"} , то всё становится плохо



Igor
21.02.2017
10:10:59
и правда

https://github.com/yandex/ClickHouse/issues/75

TSV/CSV при этом работают норм

Google
Mikhail
21.02.2017
10:15:25
всем привет. Делаю относительно сложный insert select с group by, который сильно не влезает в память, и не могу побороть DB::Exception: Memory limit (for query) exceeded. На сервере 32GB памяти, только CH основные настройки: │ max_memory_usage │ 25000000000 │ 1 │ │ max_bytes_before_external_group_by │ 10000000000 │ 1 │ │ max_bytes_before_external_sort │ 10000000000 │ 1 │ │ max_threads │ 8 │ 1 │

вот, что накопал в логах перед ошибкой 2017.02.21 13:02:31.482351 [ 21 ] <Trace> ParallelAggregatingBlockInputStream: Will merge 1546 temporary files of size 76261.6 MiB co mpressed, 291198 MiB uncompressed.

видимо, проблема на уровне мерджа получившегося результата. А как на это повлиять?

aggregation_memory_efficient_merge_threads - это в ту сторону?

Но у него нет описания нигде :(

Алина
21.02.2017
10:37:51
https://github.com/yandex/ClickHouse/issues/75
Мм, 6 месяцев назад... Спасибо

Mikhail
21.02.2017
10:40:51
aggregation_memory_efficient_merge_threads = 1, кажется, помогло. Но в группе оказалось описание этого параметра, и оно противоположное, что параметр нужен был для workaround какой-то баги, которая вроде исправлена. А на самом деле, получается, все это не совсем так.

Александр
21.02.2017
11:18:37
Подскажите, пожалуйста, как правильно добавить MATERIALIZED столбец на Distributed таблицу? Если просто добавить MATERIALIZED столбец на все таблицы шарда, то он становится доступным на таблицах шарда, но недоступен на Distributed. При пересоздании таблицы Distributed as шард перестает работать вставка

Irina
21.02.2017
11:30:50
Mikhail Petrov, у меня аналогичная ошибка с памятью. Memory limit (for query). Сисетмные настройки изменяла аналогично, но запрос все равно не тянет. Подскажите как еще можно избежать этого исключения?

Mikhail
21.02.2017
11:32:48
я пока не понял, что делать. Проблема ясна, это процесс мерджа результатов внешней группировки. aggregation_memory_efficient_merge_threads =1 исправляет ошибку, но кажется, что мердж становится в разы медленнее, и с ним я продолжать работу пока не стал.

попробовал уже max_memory_usage = 3 * max_bytes_before_external_group_by - все равно на стадии мерджа почти мгновенно память растет до лимита и запрос падает.

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