
Max
07.09.2018
20:14:31
Просто цепочка вызовов куда передается массив и операция и опять массив и операция
Я же хожу операцию как сложную функцию

Google

Alexey
07.09.2018
20:18:08
Мне надо чтобы внутри где х+10 было много выпажений
select arrayMap(x -> indexOf([5,4,3,2,1],x) + 10, [1,2,3,4,5,6,7]) а так

Max
07.09.2018
20:20:35
Надо это чтобы как то получить из двух массивов один.
Есть [10, 20, 30] и [9,11,12,24,44] хочу их преобразовать чтобы получить пары массив1 + все числа массива 2 больше чем какой то Элемент массив 1 но меньше чем след элемент массив 2. Те результат примера [10,11 ] (10,12) (20,24) (30,44)

Alexey
07.09.2018
20:21:40
Это к примеру в arrayMap(x -> {var y = indexOf(anotherarr, x); var z = x > 10? 5: 9; return x*z-y}, arr)
select arrayMap(x -> x * (if(x > 10, 5,9) - indexOf([5,4,3,2,1],x)), [1,2,3,4,5,6,7])

Max
07.09.2018
20:21:53
select arrayMap(x -> indexOf([5,4,3,2,1],x) + 10, [1,2,3,4,5,6,7]) а так
Оно все равно получается что одна операция. Те мне чтобы переменные внутри использовать и сохранять некий результат
Все ваши примеры это грубо говоря одна длинная операция. А можно ли как то чтобы переменные ещё использовать

Alexey
07.09.2018
20:25:08
в какой бд

Max
07.09.2018
20:29:30
Я не говорю что где то можно. Но если есть high order function я уточнял можно ли
В тарантул на Луа можно что то писать :)

Alexey
07.09.2018
20:29:53
здесь просто SQL
99% есть в доке

Max
07.09.2018
20:31:28
99% есть в доке
Да, но насчёт этого вопроса какая то неопределенность. Те можно сделать цепочку вызовов и все ок, а если разбить на куски с сохранением в переменную то уже получается нельзя.
Поэтому и пришел уточнить можно или нет

Google

papa
07.09.2018
20:34:26
если вам хочется привычный императивный синтаксис, то его нет, если вам нужно выполнить какое-то выражение с временными результатами, то возможно их можно просто заинлайнить в места использования.

Max
07.09.2018
20:35:24
День - лень

Sergey
07.09.2018
20:38:36
Да и "день" норм был.

Max
07.09.2018
20:40:46
А такой вопрос.есть число 15
И массив 5, 6,10,20,30 можно ли получить число 10. Те надо найти наибольший элемент который меньше искомого числа


Alexey
07.09.2018
21:00:45
А такой вопрос.есть число 15
И массив 5, 6,10,20,30 можно ли получить число 10. Те надо найти наибольший элемент который меньше искомого числа
:) select max(arrayJoin(arrayFilter(x -> x < 15, [5, 6,10,20,30]))) as res
SELECT max(arrayJoin(arrayFilter(x -> (x < 15), [5, 6, 10, 20, 30]))) AS res
┌─res─┐
│ 10 │
└─────┘
Можно - делаем arrayFilter и берём последний элемент
с сортировкой прокатит
:) select arraySort((arrayFilter(x -> x < 15, [5, 6,10,20,30])))[-1] as res
SELECT arraySort(arrayFilter(x -> (x < 15), [5, 6, 10, 20, 30]))[-1] AS res
┌─res─┐
│ 10 │
└─────┘

Max
07.09.2018
21:06:03
с сортировкой прокатит
:) select arraySort((arrayFilter(x -> x < 15, [5, 6,10,20,30])))[-1] as res
SELECT arraySort(arrayFilter(x -> (x < 15), [5, 6, 10, 20, 30]))[-1] AS res
┌─res─┐
│ 10 │
└─────┘
Да у меня массив уже отсортированый

Mike
08.09.2018
06:59:14

Max
08.09.2018
07:20:29

Mike
08.09.2018
07:39:57
Кастомная функция -- это не кусок кода, а именно цепочка вызовов встроенных ф-й

Dmitry
08.09.2018
08:28:19
Коллеги, доброе утро!
Подскажите, как решить такую проблему?
<Error> Application: DB::Exception: Cannot create table from metadata file /var/lib/clickhouse/metadata/asoup//SPL3314_REP.sql, error: ZooKeeperImpl::Exception: Can't get data for node /clickhouse/tables/01/SPL3314_REP/metadata: node doesn't exist (No node)
Кликхаус не стартует

Max
08.09.2018
08:52:26

Kirill
08.09.2018
09:11:02

Dmitry
08.09.2018
09:12:18
Кажется у меня в зукипере все данные потерялись, это очень плохо?

Kirill
08.09.2018
09:13:56
https://clickhouse.yandex/docs/ru/single/#zookeeper

Google

Dmitry
08.09.2018
09:15:27
Спасибо, Кирилл, буду пробовать

Павел Максимов
08.09.2018
13:33:21

Alexander
08.09.2018
14:18:29
Раз никто не отвечает, попробую я :)
У вас слуйчано место на диске (df) и inode (df -i) не закончились?

Кирилл
08.09.2018
16:07:12
Здравствуйте. Подскажи, кто-нибудь имеет опыт миграции с одного кластера ZooKeeper на другой и как это можно сделать, чтобы не потерять данные? Рассматриваю вариант с вводом новых участников кластера и вывода старых после синхронизации.

Павел Максимов
08.09.2018
16:27:54

Dmitry
08.09.2018
16:42:32

Wolf
08.09.2018
16:43:12
первый синтаксис не верный
данные надо было бы через детач отсоединить
ну и тупо посмотреть переместились ли данные из папки детач

Dmitry
08.09.2018
16:47:08
у меня данные в зукипере потерялись, пришлось заново создавать таблицу, не было возможности сделать detach, кликхаус не запускался

Kirill
08.09.2018
16:59:24

Dmitry
08.09.2018
17:01:07
20180129 пробовал

Wolf
08.09.2018
17:07:04
ну видно что аттач не прошел

Dmitry
08.09.2018
17:07:39
да, а как можно понять причину? в лог ничего не пишется в момент выполнения аттача
о, вот в таком формате получилось приаттачить данные
ALTER TABLE {table_name} ATTACH PART '20180129_0_53_5'

Kirill
08.09.2018
17:48:35
У вас партиционирование по дате, значит названия партиции должно было быть '2018-01-29'

Dmitry
08.09.2018
17:49:56
у меня вот так PARTITION BY toMonday(toDateTime(ts))

Kirill
08.09.2018
17:51:55

Dmitry
08.09.2018
17:54:02
ага, понял, спасибо

Google

Michal
10.09.2018
07:25:30
Может быть кто-то знает как заставить КХ "забыть" о словаре без растарта? Удаление файла с конфигурацией не помогает...
SYSTEM RELOAD DICTIONARIES - тоже.

Vladimir
10.09.2018
07:27:39

Michal
10.09.2018
07:31:55
Вот с DROP TABLE все и началось... :) Был нужен временный словарь, быстренько запилил таблицу с данными (внутри КХ) и конфиг словаря. Потом словарь перестал быть нужен, таблицу и конфиг словаря удалил, а КХ теперь каждые пару сек пишет в error_log сообщение мол " Failed reloading '<удаленный словарь>' external dictionary: Code: 47, ". Рестартовать "по пустякам" не хочется т.к. КХ минут 5 стартует.

M
10.09.2018
07:41:48
Доброе утро. Как можно отменить мутацию на удаление? На обычной MergeTree. Допустил ошибку в запросе, она не проходит и не позволяет уже нормальному запросу работать

Alex
10.09.2018
07:44:27

M
10.09.2018
07:45:06
Спасибо

Alex
10.09.2018
07:45:17
Сделайте DETACH TABLE <table>, найдите в data-директории таблицы ( /var/lib/clickhouse/data/<database>/<table>/ ) файл с мутацией ( mutation_*.txt ), удалите его и приаттачте таблицу обратно ATTACH TABLE <table>

M
10.09.2018
07:45:37

Alex
10.09.2018
07:45:44

Alex
10.09.2018
07:46:05
Надо будет сделать запрос KILL MUTATION для таких случаев :)

Michal
10.09.2018
07:46:38

Александр
10.09.2018
07:53:00

Alex
10.09.2018
07:54:33
Ага, это я и говорил

Александр
10.09.2018
08:02:04

Denis
10.09.2018
10:36:37


Daniyar
10.09.2018
11:39:38
Clickhouse одну merge_tree таблицу распределил на 548827 файлов.
Количество столбцов - 11, строк - 10 000, вес таблицы - 1.26 мб.
Merge_tree таблица создавалась с параметрами по умолчанию, описанными в официальной документации.
Файловая система дирректории Clickhouse - 'ext4'(LINUX)
Насколько нормально такое поведение Clickhouse?
Возможно ли ограничить или сократить количество создаваемыех файлов на одну таблицу; если да, то чего это нам будет стоить?

Denis
10.09.2018
11:40:26
у вас с выбором индекса партиционирования что-то не то. гранулярность большая получилась

Michal
10.09.2018
11:44:04

Google

Michal
10.09.2018
11:49:44

Alexey
10.09.2018
11:54:37

Daniyar
10.09.2018
11:54:51
Может быть вы каждую строку вставляли отдельным инсертом?
Возможно, данные грузятся через ETL инструмет, коннектится он к CH через JDBC драйвер.
Количество строк в блоке инсерта, честно говоря, мне неизвестно, нужно будет покопаться, найти.
Благодарю за интересное предположение. Возможно ETL и инсертит каждую строку отдельно.

Michal
10.09.2018
11:56:48

Daniyar
10.09.2018
11:57:01

Denis
10.09.2018
11:58:34
даже если инсёрты отдельные (а что, КХ уже умеет вставку одной строки? раньше вроде нельзя было, только батчи), то мерджи потом объединят их. тут же, видимо, данные распределились и остались. заметьте, что там файлов больше, чем строк*колонок. даже хз, откуда такая амплификация. либо что-то недоговаривают о ситуации
напишите структуру таблицы, запрос создания какой?

Evgeny
10.09.2018
12:04:14

Daniyar
10.09.2018
12:06:51
Pentaho

Evgeny
10.09.2018
12:11:16

Konstantin
10.09.2018
12:22:22
@blinkovivan а можно вот такое реализовать в ODBC? https://github.com/Microsoft/DataConnectors/blob/master/docs/odbc.md
и еще почемуто шлюз Power BI не видит коннектор
Сообщение о базовой ошибке: ODBC: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
DM_ErrorDetailNameCode_UnderlyingHResult: -2147467259
Microsoft.Data.Mashup.ValueError.DataSourceKind: Odbc
Microsoft.Data.Mashup.ValueError.DataSourcePath: dsn=clickhouse_ansi
Microsoft.Data.Mashup.ValueError.Reason: DataSource.Error

Aleksandr
10.09.2018
12:24:57
Подскажите пожалуйста alter table для shard таблиц нужно делать для каждой ноды отдельно а потом сделать alter table on cluster для distibuted таблиц?

Alex
10.09.2018
12:34:00
Если речь про добавить/удалить столбец, то нужно выполнить его для каждой таблицы с данными (или для одной реплики каждого шарда, если используется репликация), а потом выполнить тот же ALTER для каждой Distributed таблицы. Оба шага можно делать либо вручную, либо с помощью ON CLUSTER.

Ivan
10.09.2018
12:35:15