@clickhouse_ru

Страница 564 из 723
Алексей
20.06.2018
16:23:28
clickhouse client 2>&1| grep "client version" |awk '{print $4}' 1.1.54385. clickhouse client 2>&1| grep "client version" |awk '{print $4}' | rev |cut -c 2-| rev 1.1.54385 М — девопс.

yuyu
20.06.2018
16:37:22
Присоветуйте: как сделать из строки(или массива) со списком чисел строку(или массив) без дублей, но с сохранением порядка? SELECT '1,3,3,5,7,7' as S, splitByChar(',', S) as A, arrayReduce('groupUniqArray', A) as B выдаёт в 'B' без дублей, но порядок ломает: 1,3,3,5,7,7 ['1','3','3','5','7','7'] ['1','7','5','3']

papa
20.06.2018
17:29:46
если они сортированные, то можно в конце отсортировать

Google
papa
20.06.2018
17:30:01
если нет, то можно посмотреть в arrayEnumerateUniq

yuyu
20.06.2018
17:35:52
если они сортированные, то можно в конце отсортировать
С сортированными бы и вопроса не было. С arrayEnumerateUniq попробую. Но как то громоздко выйдет, я думал туплю, простого не вижу.

molo4ko
20.06.2018
17:46:48
возьму такой прием тестирования на вооружение)

yuyu
20.06.2018
18:19:26
Дубли могут быть в любом месте, а может и не быть совсем. Может быть и только единственное число в списке - одно или с дублями. Группы дублей одного числа даже могут встречаться и не один раз в разных местах.

yuyu
20.06.2018
18:27:04
а остаться должен только элемент на 1й позиции?
Сейчас мне достаточно оставить только первое вхождение уникального числа, напр. 11,2,11,3,44 -> 11,2,3,4 Потом может и будет потребность оставлять все вхождения, но без дублирования, напр. 11,2,11,11,3,44 -> 11,2,11,3,4 Но это уже будет другая задача.

Konstantin
20.06.2018
18:27:30
вторую решить легче)

papa
20.06.2018
18:28:58
WITH [11, 2, 11, 3, 44] AS arg SELECT arrayFilter((x, y) -> (y = 1), arg, arrayEnumerateUniq(arg)) AS res ┌─res─────────┐ │ [11,2,3,44] │ └─────────────┘

WITH [11, 2, 11, 3, 44] AS arg SELECT arrayFilter((x, y) -> (x != arg[(y + 1)]), arg, arrayEnumerate(arg)) AS res ┌─res────────────┐ │ [11,2,11,3,44] │ └────────────────┘

?
20.06.2018
18:34:44
а как в клиенте с опцией с --multiline – редактировать этот самый мультилайн? как по строкам двигаться?

yuyu
20.06.2018
18:34:58
WITH [11, 2, 11, 3, 44] AS arg SELECT arrayFilter((x, y) -> (y = 1), arg, arrayEnumerateUniq(arg)) AS res ┌─res─────────┐ │ [11,2,3,44] │ └─────────────┘
В примере на входе 5 и на выходе 5 значений. Но подход ясен. Спасибо за наводку. Завтра уже попробую у себя.

Google
Konstantin
20.06.2018
18:38:44
В примере на входе 5 и на выходе 5 значений. Но подход ясен. Спасибо за наводку. Завтра уже попробую у себя.
в 1 примере на входе 5 на выходе 4, а второй пример удаляет дубликаты идущие подряд поэтому и на входе 5 и на выходе 5)

Wolf
20.06.2018
18:40:13
а как в клиенте с опцией с --multiline – редактировать этот самый мультилайн? как по строкам двигаться?
Перенаправляйте туда просто файл с запросами так намного удобнее

Aleksey
20.06.2018
19:10:10
Просто выключили инстансы и удалили папки с данными. Уже понял, что это была ошибка. В итоге руками поудаляли соответствующие записи из зк, и /log сам сразу почистился

Denis
20.06.2018
19:57:44
спасибо, очень хороший ответ
потестил еще, видимо все сложнее, если в первых полях много различных значений, то работать начинает по другому insert into test select number, 3, 0, toString(number) from numbers(1000000); insert into test select number, 2, 1, toString(number) from numbers(100); insert into test select number, 0, 2, toString(number) from numbers(1000000); SELECT count() FROM test WHERE c=1; 1 rows in set. Elapsed: 0.003 sec. Processed 2.00 million rows, 16.00 MB (791.79 million rows/s., 6.33 GB/s.)

Yuran
20.06.2018
20:38:28
Никто не сталкивался с проблемой, когда INSERT в буферную таблицу просто зависает? За буферной таблицей находится ReplicatedMergeTree, и очень похоже, что на самом деле не вставляется именно туда. Версия 1.1.54385, последняя.



На машине диск и CPU свободны

На второй машине в реплике все проходит нормально и инсерты не зависают. Kill -9 помог кликхаусу «отвиснуть»

в логах есть такие строки: 2018.06.20 21:09:23.896484 [ 22 ] <Error> default.table_name (StorageReplicatedMergeTree): DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Timeout: connect timed out: 192.168.3.10:9009, e.what() = Timeout

Николай
21.06.2018
04:45:52
Подскажите, а функция pointInPolygon - это тоже самое, что St_within из postgis? https://postgis.net/docs/ST_Within.html

Vasilij
21.06.2018
06:30:58
А в КХ можно сделать список дат по данному интервалу как-то проще, чем так? SELECT arrayJoin(arrayMap(x -> (toDate('2018-05-01') + x), range(toUInt8(toDate('2018-05-31') - toDate('2018-05-01'))))) AS Date

Stepan
21.06.2018
07:41:21
а поделитесь пожалуйста однострочником на создание бекапов, если есть, а то вот так не работает: SELECT (ALTER TABLE table FREEZE PARTITION partition) FROM system.parts WHERE active group by partition,table;

Дмитрий
21.06.2018
07:55:24
Здравствуйте! Есть одиночный сервер КХ. На нем есть таблица, над которой вью: CREATE TABLE IF NOT EXISTS url_events ( url_id UInt32, date_hour DateTime DEFAULT toString(toStartOfHour(now()), 'UTC'), click UInt32, show UInt32 ) ENGINE = Log и CREATE MATERIALIZED VIEW IF NOT EXISTS url_events_agg ENGINE = SummingMergeTree((click, show)) /* столбцы для суммирования */ PARTITION BY date_hour ORDER BY (url_id, date_hour) /* ключи */ AS SELECT * FROM url_events Как теперь с этим переехать в кластер? (2 шарда по 2 реплики) Таблицу менять на ReplicatedMergeTree, над ней строить Distributed, а над ней уже View? И вью что, дублировать на каждой ноде? Или есть лучше вариант?

Vasilij
21.06.2018
08:05:40
Здравствуйте! Есть одиночный сервер КХ. На нем есть таблица, над которой вью: CREATE TABLE IF NOT EXISTS url_events ( url_id UInt32, date_hour DateTime DEFAULT toString(toStartOfHour(now()), 'UTC'), click UInt32, show UInt32 ) ENGINE = Log и CREATE MATERIALIZED VIEW IF NOT EXISTS url_events_agg ENGINE = SummingMergeTree((click, show)) /* столбцы для суммирования */ PARTITION BY date_hour ORDER BY (url_id, date_hour) /* ключи */ AS SELECT * FROM url_events Как теперь с этим переехать в кластер? (2 шарда по 2 реплики) Таблицу менять на ReplicatedMergeTree, над ней строить Distributed, а над ней уже View? И вью что, дублировать на каждой ноде? Или есть лучше вариант?
Если данные view должны реплицироваться (а обычно так и есть), то в кластере создается ReplicatedSummingMergeTree таблица, на которую уже указывает вью (через TO). Да, и таблица и вью дублируются на каждой ноде - кто его знает, на какую ноду вы будете писать? А дальше записали на любой ноде - и данные, которые вью сбросила в таблицу, разъехались по остальным нодам.

Zo zo
21.06.2018
14:39:41
перестраивали кластер, поймали code: 252, message: Too many parts (301). Merges are processing significantly slower than inserts. стакливался кто?

прчием даже при записи в те части кластера, которые не трогали

Wolf
21.06.2018
14:40:18
по идее при аттаче данных на одном шарде в две реплики стало много партов, но почему оно заблокировало при этом запись в другой шард где нет такой проблемы

Google
Alexey
21.06.2018
14:46:18
перестраивали кластер, поймали code: 252, message: Too many parts (301). Merges are processing significantly slower than inserts. стакливался кто?
если вы уверены, что все ок, можно поднять это число. У меня такое было, когда я переливал данные в новый кластер из старого, и при этом шла обычная заливка данных в новый.

вот

Можно поменять в config.xml и рестартовать КХ <merge_tree> <parts_to_throw_insert>500</parts_to_throw_insert> </merge_tree>

у меня там скакало 300-400, я на всякий случай выставил 1000, все прошло хорошо

Kirill
21.06.2018
16:13:21
прчием даже при записи в те части кластера, которые не трогали
Значит как-то потрогали. У вас мержи не идут, что в логах? В system.merges, system.replication_queue?

Mikhail
21.06.2018
16:16:00
Привет. При инсталле CH с нуля на ubuntu 18.04 в консоли apt-get вылезло вот такое: Executing: /lib/systemd/systemd-sysv-install enable clickhouse-server /var/lib/dpkg/info/clickhouse-server-base.postinst: 34: [: unexpected operator /var/lib/dpkg/info/clickhouse-server-base.postinst: 34: [: unexpected operator /var/lib/dpkg/info/clickhouse-server-base.postinst: 34: [: unexpected operator Содержимое этой и 2 предыдущих строк: # Make sure the administrative user exists if ! getent passwd ${CLICKHOUSE_USER} > /dev/null; then if [ "$OS" == "rhel" ] || [ "$OS" == "centos" ] || [ "$OS" == "fedora" ]; then видимо, есть какая-то опечатка в скрипте из пакета. Дальше разбираться не стал.

Victor
21.06.2018
16:17:04
Я вчера ставил на убунту 16.04, поставилось норм, только ругнулось на chown, емнип, что нет юзера clickhouse, но всё работает

Mikhail
21.06.2018
16:19:35
а какая версия поставилась ? в последних релиза холжно уж ебыть
Get:9 http://repo.yandex.ru/clickhouse/deb/stable main/ clickhouse-server-base 1.1.54385 [238 MB] Get:10 http://repo.yandex.ru/clickhouse/deb/stable main/ clickhouse-client 1.1.54385 [3,578 B] Get:11 http://repo.yandex.ru/clickhouse/deb/stable main/ clickhouse-server-common 1.1.54385 [7,798 B]

shawn
22.06.2018
05:06:39


i clone the master batch from GitHub and build on gcc 8.1.0 at Mac book 。

the gcc report this error ,who can help me please

Evgeny
22.06.2018
06:36:30
for mac os you can try this one, works for me https://github.com/arduanov/homebrew-clickhouse or docker

shawn
22.06.2018
06:42:22
think s evgeny

but i want complied and gdb debug flow the latest version

Nik
22.06.2018
07:40:05
Документация по sumMap не соответствует реализации, написано что тип для ключа может быть числом или датой, но на деле при использовании дат выдает ошибку о не соответствии типов

Тимур
22.06.2018
08:14:43
Добрый день, есть столбец с примерно такой последовательностью [NA, NA, NA, id1, NA, NA, id2, id3, NA, NA, NA] . Необходимо все NA значения, которые идут после значения "id_*" заменить на соответствующее. Т.е. (NA, NA, NA, id1, NA, NA, id2, id3, NA, NA, NA) -> (NA, NA, NA, id1, id1, id1, id2, id3, id3, id3, id3) Как это можно провернуть?

Google
Mariya
22.06.2018
08:18:52
Привет, можно сделать left join таблицы на себя с фильтром id != NA и вычислить нужное поле с помощью аггрегатной функции argMin(id, time) (time - поле, по которому упорядочены)

Тимур
22.06.2018
08:22:55
спасибо!

Viktor
22.06.2018
08:29:30
Привет. Сможет кто-то подсказать статьи/доклады/документацию по траблшутингу использования ресурсов кликхаусом? То память скачет, то цпу, лог ничего подозрительного не показывает. Возможно, принято смотреть где-то еще?

Олег Иванович
22.06.2018
08:32:46
у меня похожий вопрос, только ситуация другая

запустили в docker-compose ноду, а она падает, в логах ничего нет

с kubernetes думаю будет аналогичная история

Wolf
22.06.2018
08:41:00
запустили в docker-compose ноду, а она падает, в логах ничего нет
ну такого не бывает, прямо в логах композа ничего?

Олег Иванович
22.06.2018
08:41:31
в логах КХ, почему он падает

Viktor
22.06.2018
08:44:51
Скорее всего у вас фоновые мерджи жрут больше чем нужно. Смотрите системную таблицу system.merges
благодарю. Полагаю, проблема может быть в слиянии слишком больших кусков и пережор памяти?

Олег Иванович
22.06.2018
08:47:08
может есть какие-то хорошие статьи? как правильно запускать КХ в docker-compose/kubernetes

Wolf
22.06.2018
08:50:39
может есть какие-то хорошие статьи? как правильно запускать КХ в docker-compose/kubernetes
просто запускаешь, ну вы смотрите логи в композе , а не в логи кх

Олег Иванович
22.06.2018
08:51:18
Wolf
22.06.2018
08:52:15
compose logs?

Олег Иванович
22.06.2018
08:52:27
да

Wolf
22.06.2018
08:52:40
всегда там без проблем поднимался

Олег Иванович
22.06.2018
08:53:26
... видимо проблемы начинаются тогда, когда данные выносятся за пределы контейнера

Wolf
22.06.2018
08:54:35
что значит данные выносятся за пределы контейнера ?

какая то новая фишка в докере что ли ?

Victor
22.06.2018
08:55:16
какая то новая фишка в докере что ли ?
скорее имеется в виду, что на каждый сервис по контейнеру, в том числе на storage

Google
Олег Иванович
22.06.2018
08:55:54
какая то новая фишка в докере что ли ?
нет, не новая volume`ы никуда не делись

Wolf
22.06.2018
08:56:09
скорее имеется в виду, что на каждый сервис по контейнеру, в том числе на storage
не очень понятно, зачем на сторейдж контейнер когда в итоге он все равно в волюм

нет, не новая volume`ы никуда не делись
ну так все с волюмами запускают, внутри контейнера нет персистент хранения и не было .

Tima
22.06.2018
09:46:26
благодарю. Полагаю, проблема может быть в слиянии слишком больших кусков и пережор памяти?
Слишком много мелких вставок, отсюда много партов, отсюда много мерджей. Сами фоновые мерджи можно ограничить, смотрите настройки background_pool_size

Viktor
22.06.2018
09:46:44
thx

Nik
22.06.2018
09:47:33
КХ работает в кубернете, волумы вне контейнера, нагрузка на запись порядка 5к вставок в секунду, три сервера и три реплики, полет в течении 14 дней нормальный (ни одного падения)

Maxoid
22.06.2018
10:40:23
Всем привет! Подскажите как реализовать бэкап мерж таблиц с партициями и таблицы типа tinylog? Полный, дифференциальный. Таблиц много разных и как это грамотно автоматизировать пока мыслей нет(

Daniel
22.06.2018
10:56:45
Привет, у кого-нибудь может есть промокоды на Highload Siberia? Там два доклада будет по теме Clickhouse. https://habr.com/company/oleg-bunin/blog/414527/

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