
Stas
03.10.2017
13:49:00
тогда проще поставить фильтр, который не будет реагировать на определенные типы запросов

Aleksandr
03.10.2017
13:51:57
уточню, я про ситуацию когда есть запрос вида INSERT INTO table (a) VALUES ("тут переменная строка, приходят с клиента"), возможно ли передать в ту переменную что-то, что будет модифицировать запрос (например сделает два запроса)?
как раньше в mysql было
(ну и сейчас тоже есть)

Google

Alexey
03.10.2017
13:58:20
Строки надо экранировать, всегда.

Aleksandr
03.10.2017
14:01:50

Alexey
03.10.2017
14:03:32
Нет.
Достаточно одинарные кавычки и обратный слеш.
Подробнее смотрите в документации.

Aleksandr
03.10.2017
14:04:21
я правда искал ?
посмотрю еще, спасибо за ответ

Andrey
03.10.2017
14:04:38
А CH вроде только 1 запрос за раз выполняет. Или уже доработали?

Vitaly
03.10.2017
15:00:25
Столкнулся с такой проблемой, работая с нативным клиентом из официального докер образа. Если вставить кириллический текст, он обрывается на первой букве. А если печатать прямо в клиенте, есть проблемы с кодировкой. Работая с клиентом без докера, таких проблем нет (у меня на машине локаль utf-8). Похоже, в докер файле не хватает нужной локали. Наверное, это чинится как-то так:
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
Было бы здорово, если бы это поправили. Спасибо

Andrey
03.10.2017
15:05:35
Ребят, а нет под рукой у кого нибудь конфига clickhouse-client для случая когда юзер и пароль кастомные?

Vitaly
03.10.2017
15:07:52

Andrey
03.10.2017
15:08:44

Vitaly
03.10.2017
15:12:11

Google

Andrey
03.10.2017
15:12:44
Все оказалось чертовски логично.
<config>
<user>username</user>
<password>password</password>
</config>

Vitaly
03.10.2017
15:39:35

f1yegor
03.10.2017
15:48:35
в ReplacingMergeTree колонка с версией по-умолчанию называется _part_index?

Vladislav
03.10.2017
15:59:42

Stas
03.10.2017
16:10:03

Max
04.10.2017
02:48:09
а подскажите, как задать лимит по памяти на весь сервер?

Андрей Михайлович
04.10.2017
06:15:58
Через конфиг

Max
04.10.2017
09:28:27
я нашел в конфиге только лимит на сессию

Konstantin
04.10.2017
10:34:18

Alexey
04.10.2017
10:41:34
Это лимит на один запрос.
Лимит на все запросы - max_memory_usage_for_all_queries.

Edya
04.10.2017
11:51:03
Коллеги, а NULL значения уже допустимы во внешних словарях?

prll
04.10.2017
13:43:37

Aleksey
04.10.2017
13:55:16
Привет! Заметили, что при запросах в distributed таблицу КХ не использует сеть, которую мы прописали в interserver_http_host. Подскажите, пожалуйста, этот параметр нужен только для репликации или мы сделали что-то не так?

Felixoid
04.10.2017
14:01:26

Roman
04.10.2017
14:02:32
откуда эта фраза?

Felixoid
04.10.2017
14:02:49
не прикрепилось =)
http://graphite.readthedocs.io/en/latest/config-carbon.html#storage-schemas-conf

Roman
04.10.2017
14:03:01
и причем тут КХ?
в висперах действительно есть ограничение на время хранения

Google

Alexey
04.10.2017
14:04:04

Felixoid
04.10.2017
14:04:09
тогда я неправильно понял, что Вы имели в виду под В retention нет параметра "окончание срока хранения".
и какой выход, если надо удалять неинтересующие данные?
использовать запредельный precision?

Roman
04.10.2017
14:06:47

Aleksey
04.10.2017
14:07:09
Только для репликации.
а есть ли возможность каким-либо образом сделать так, чтобы все внутреннее общение между шардами шло через другую сеть?

Felixoid
04.10.2017
14:09:37

Roman
04.10.2017
14:15:03

Felixoid
04.10.2017
14:15:57
нельзя, есть данные с
retentions = 1h:180d,1d:10y
а так бы с удовольствием =)

Александр
04.10.2017
21:40:32

Павел Максимов
05.10.2017
06:46:17
Ребят подскажите новичку, возможно задать при вставке данных функцию преобразования на этапе создания таблицы
CREATE TABLE [db.]name
(
Cost*1000000 UInt32
...
) ...
?

Дмитрий
05.10.2017
07:19:28
нет

Павел Максимов
05.10.2017
07:24:02
а есть варианты преобразования при вставке данных? например иногда такие "--" дефисы встречаются в столбце типа Int?

Andrey
05.10.2017
08:03:51

Павел Максимов
05.10.2017
08:04:08

Andrey
05.10.2017
08:04:52
да
Ну тогда у вас полный набор возможностей grep/awk/sed и вот это вот все

Павел Максимов
05.10.2017
08:05:19

Konstantin
05.10.2017
08:06:52
спасибо, поизучаю что это такое
общая идея - или перестаньте писать в файл дефисы там где должен быть Int или делайте постобработку файла удаляя/заменяя эти дефисы

Google

Павел Максимов
05.10.2017
08:07:23
понял

Cargeh
05.10.2017
08:10:10
Есть ли ограничение на длину названия колонки? Не нашел в документации

Mike
05.10.2017
08:11:17
Вау, бигдата в названиях колонок может быть :)

Paul
05.10.2017
09:14:10
вы вот смеетесь, а я сопровождал проект с хранением файлов внутри кластера mongodb

Александр
05.10.2017
09:14:53

Paul
05.10.2017
09:15:11
нет предела человеческому идиотизму

Атата
05.10.2017
09:15:13

Paul
05.10.2017
09:15:28
gridfs?
нет, просто блобы. В файлы их пхп собирал

Александр
05.10.2017
09:15:52

Paul
05.10.2017
09:17:25
когда на 700-м пне вылетает таблица с аватарками на 5 гиг весом - чинить ее удовольствие сильно ниже среднего

Александр
05.10.2017
09:18:01

Cargeh
05.10.2017
09:19:22
И еще вопрос: надо ли перезапускать сервер или как-то делать флаш, когда обновляешь users.xml?

Andrey
05.10.2017
09:20:12

Cargeh
05.10.2017
09:20:36

Anton
05.10.2017
09:39:14
Добрый день. Подскажите как сформировать массив с помощью groupArray добавив в него не одно а два поля. т.е. таблица имеет структуру, например :
date, event
несколько записей:
2010-09-10 1
2010-09-10 2
2010-09-10 3
2010-10-01 2
2010-10-01 3
2010-10-01 5
хотелось бы получить массив
[ 2010-09-10, [1,2,3] ],
[ 2010-10-01, [2,3,5] ]

papa
05.10.2017
10:15:27
массив должен иметь элементы одного типа.

Ilyas
05.10.2017
10:17:43
внешний можно таплом сделать

Anton
05.10.2017
10:18:20
мне бы и таплом подошло, но как сформировать

Ilyas
05.10.2017
10:19:21
подозреваю что вложенным запросом это сделать должно быть не сложно

Google

Anton
05.10.2017
10:20:45
вложенным не совсем подходит

Ilyas
05.10.2017
10:25:44
SELECT (dt, groupArray(x))
FROM
(
SELECT
toDate('2017-01-01') + (number % 5) AS dt,
rand() AS x
FROM system.numbers
LIMIT 20
)
GROUP BY dt

Aleksandr
05.10.2017
11:03:01
Из доки:
>Снижения производительности не будет, если:
>- Данные поступают в режиме реального времени.
Это про что? Про стримы? Или можно просто по одной записи всталять?

Cargeh
05.10.2017
11:08:30


Anton
05.10.2017
11:27:44
SELECT (dt, groupArray(x))
FROM
(
SELECT
toDate('2017-01-01') + (number % 5) AS dt,
rand() AS x
FROM system.numbers
LIMIT 20
)
GROUP BY dt
Спасибо, но это не совсем то что нужно. Допустим у меня в таблице есть еще один столбец users, т.е. такая структура и данные:
date, event, users
—-------------------------
2010-09-10 1 1
2010-09-10 2 1
2010-09-10 2 1
2010-09-10 2 1
2010-09-10 3 2
2010-10-01 2 2
2010-10-01 3 2
2010-10-01 5 2
2010-10-01 5 2
Одним запросом я хочу посчитать число юзеров, и число повторных событий за один день группируя по юзеру.
В результате хотелось бы получить такой ответ (count(events) - образно):
uniq(users), count(events)
—-------------------------------------
2 3

papa
05.10.2017
11:45:42
а почему у вас count(events) это одно число, оно разве не зависит от юзера?

Ilyas
05.10.2017
11:48:54

Andrew
05.10.2017
12:09:59
Приветствую. А ситуация, когда использование join в обычных (нематериализованных) VIEW приводит к тому, что в таблицы-источники перестают добавляться данные, это фича или в будущем планируется исправление этой проблемы?

Андрей
05.10.2017
12:43:54
Коллеги, привет. Еще в версии 1.1.54276 была добавлена опциональная секция WITH запроса SELECT. У нас самый свежий стабильный кликхаус, но пример из доков: WITH 1+1 AS a SELECT a, a*a не работает. Дайте рабочий пример или ссылку. Заранее спасибо!

papa
05.10.2017
12:45:35
WITH 1 + 1 AS a
SELECT
a,
a * a
┌─a─┬─multiply(a, a)─┐
│ 2 │ 4 │
└───┴────────────────┘

Андрей
05.10.2017
12:49:21

Vladimir
05.10.2017
14:06:03