
Александр
08.09.2017
15:59:48
https://img.facedsid.ru/gfsyj.jpg
Это вот данные по одной сущности
И нужно оставить то, что в прямоугольниках, остальное выкинуть, т.к. не соблюдается последовательность

papa
08.09.2017
16:04:22
в вашем случае правила несколько более сложные, чем просто выбрасывание подряд идущих дубликатов.

Google

Александр
08.09.2017
16:04:34
Эх ) Досадный баг с limit n by )
Я Алексею уже писал про него
Придется чуть больше данных джоинить

Alexey
08.09.2017
17:03:12
#faq
force_index_by_date - проверяет, есть ли в запросе условие на ключ даты, которое может использоваться для отсечения партиций.
force_primary_key - проверяет, есть ли в запросе условие на первичный ключ, которое может использоваться для отсечения диапазонов первичного ключа.
Если соответствующая настройка выставлена в 1, а подходящего условия нет - кидается исключение.
При этом не проверяется, действительно ли условие уменьшает объём данных для чтения. Например, условие на дату Date != '2000-01-01' считается подходящим при выставленной настройке force_index_by_date, даже когда в таблице все данные подходят под это условие и для выполнения запроса требуется full scan.


No name
09.09.2017
06:55:23
У меня тут такая проблема, помогите понять в чем причина.
Права на папку detached 777 рекурсивно.
Выполняю такой запрос:
ALTER TABLE bd.table
ATTACH PARTITION '201709'
Received exception from server:
Code: 1000. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Access to file denied: insufficient permissions: /var/lib/clickhouse/data/db/table/detached/20170902_20170906_1_154781_12691.
2017.09.09 09:42:48.662898 [ 3 ] <Error> db.table (Data): ~DataPart() should remove part /var/lib/clickhouse/data/db/table/detached/20170902_20170906_1_154781_12691/ but its name doesn't start with tmp. Too suspicious, keeping the part.


G
09.09.2017
12:18:03
Привет, клиент go. В таблице 10м значений. Код то выполняется то нет (будто нет данных). Без ошибок
iter := clickhouse.NewQuery(
sql, args...,
).Iter(clickHoustClient)
for iter.Scan(&ip, &dateAt) {
// agg
}
return iter.Error()
Запрос тупо селект по всем данным в таблице
Проблема в том что запрос то выполняется, то не выполняется если вызвать его. То есть код отрабатывает мгновенно и без ошибок будто таблица пустая. А бывает что все в порядке возвращает данные и итератор бежит по всем данным. На транспорте стоит timeoyt=60sec
В чем может быть проблема?

Constantine
09.09.2017
12:20:07
клиент го это в другую сторону )
я юзаю тот же клиент, в данный момент

Alex
09.09.2017
12:20:59
Error вернет только ошибку бд, скорее всего проблема где-то в коннекте если код выполняется моментально

G
09.09.2017
12:22:19
Так что я делаю не так, понять не могу
Явно что то в клиенте дело или коннекте
Баг даже завести не могу ибо воспроизвести не знаю как

Google

G
09.09.2017
12:22:53

Constantine
09.09.2017
12:23:33
я про то, что здесь не гошный чат ) если запрос выполняется — значит все ок, не к кликхаусу вопрос ?
имхо
как выше верно подметили, это какая-то проблема с транспортом. попробуй спросить у гоферов

G
09.09.2017
12:25:22
А ну это понятно
Вопрос с большего аудитории этой группы был адресован
Окей, буду копать

Constantine
09.09.2017
12:25:51
у меня подобных проблем не было, во всяком случае )

Alex
09.09.2017
12:29:46
?

G
09.09.2017
12:40:23
Блин, так этот клиент через http хреначит. Мда уж

papa
09.09.2017
12:42:47
посмотрите в логах сервера запросы, попробуйте воспроизвести без клиента.

Roman
09.09.2017
12:59:49
Подскажите плиз по дизайну витрин. Что эффективнее — одна мега-широкая таблица в которой вперемешку лежат метрики и атрибуты или же относительно узкая таблица фактов с метриками и ключами, окруженная словарями?
Аналитикам понятное дело удобнее читать данные из одной широкой таблицы.

Andrew
09.09.2017
13:28:09
В словари обычно кладутся то, что может меняться. Например, можно создать широкую таблицу с айдишниками каких-то сущностей, а в словаре хранить мапинг "id -> человеческое имя"
Так и аналитикам будет удобно помнить, что, например, мне нужно id=831, потому что я помню, и форматировать изменяющиеся сущности со словарями будет удобн

G
09.09.2017
13:31:33

papa
09.09.2017
13:33:06

Roman
09.09.2017
13:34:15

papa
09.09.2017
13:39:30
с ключи обычно занимают меньше места, поэтому запрос работает быстрее, и, как уже сказали, данные в словаре можно апдейтить.
но при этом запрос становится а) непонятнее (id=7500) б) длиннее (select id,getDictString(...id)), если писать их руками это менее удобно.

Maksim
09.09.2017
14:00:37
Мне подозревается что тут у каждого второго написан конструктор запросов

Google

Александр
09.09.2017
14:01:07
А есть там выбор данных из словаря или нет вообще не усложняет запрос )

Maksim
09.09.2017
14:05:53
Нет никакой проблемы в широкую таблицу положить огромную строку
Но если хочется с ними что-то делать, то рядом со строкой обязательно класть хеш типа cityhash
Это может на порядок ускорить запрос

Roman
09.09.2017
17:18:34

No name
09.09.2017
17:44:07
У меня тут такая проблема, помогите понять в чем причина.
Права на папку detached 777 рекурсивно.
Выполняю такой запрос:
ALTER TABLE bd.table
ATTACH PARTITION '201709'
Received exception from server:
Code: 1000. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Access to file denied: insufficient permissions: /var/lib/clickhouse/data/db/table/detached/20170902_20170906_1_154781_12691.
2017.09.09 09:42:48.662898 [ 3 ] <Error> db.table (Data): ~DataPart() should remove part /var/lib/clickhouse/data/db/table/detached/20170902_20170906_1_154781_12691/ but its name doesn't start with tmp. Too suspicious, keeping the part.

Tima
10.09.2017
05:24:42

Mike
10.09.2017
08:27:35
Поставил КХ на виртуалку Ubuntu 16.04 в ажуре, и обнаружил странный эффект:
umaxfun@policy:~$ clickhouse-client
Illegal instruction (core dumped)
umaxfun@policy:~$ clickhouse-server
Illegal instruction (core dumped)
Что бы это могло значить?

Vladimir
10.09.2017
08:28:12

Mike
10.09.2017
08:28:51
В рут мне логи, что теперь делать? Один вариант -- не использовать ажуру?

Vladimir
10.09.2017
08:28:55
Надо либо пересобирать кх самому без поддержки ссе4, либо бодаться с поддержкой чтобы они у себя это поправили

Mike
10.09.2017
08:30:21
А с мелкими не было проблем ?

Vladimir
10.09.2017
08:30:27
Там такое тоже сплошь и рядом, что наборы поддерживаемых инструкций они зачем то ограничивают

Сергей
10.09.2017
08:30:35
Ну они там тупо кпу тайп делают хост

Mike
10.09.2017
08:31:05
У того же селектела всегда было ок, и на вискейле даже

Google

Сергей
10.09.2017
08:31:10
Да они там по дефолту юзают какой-то кему виртуальный кпу
Потому такие проблемы
А шо там у ажура хз
Навряд они чёт под одного чела будут менять

Mike
10.09.2017
08:33:20
Тупо получается
Ну написал в супорт, конечно

Vladimir
10.09.2017
08:48:18

Сергей
10.09.2017
08:49:10
Ну то шо Хайперв то понятно, вопрос как он там настроени
Я просто хайпер 1 раз в жизни трогал

Vsevolod
10.09.2017
08:52:39

Старый
10.09.2017
08:53:12
Хипер-в же
вот интересно, как они пофиксили 10к коннектов на hyper-v для ажура
и почему в обычный вин сервер ещё не завезли

Mike
10.09.2017
08:53:37

Vladimir
10.09.2017
08:54:03

Vsevolod
10.09.2017
08:54:36

Vladimir
10.09.2017
08:54:37

Mike
10.09.2017
08:55:59

Vsevolod
10.09.2017
09:01:24

Mike
10.09.2017
09:13:54
Спасибочки!

Google

Alexander
10.09.2017
12:43:03
Всем привет, а есть в КХ функция, которые объединяет два массива в один?
что-то типо union, например для
SELECT arrayUnion([1, 2, 3], [4, 5, 6]) AS res
вернула бы [1, 2, 3, 4, 5, 6]
в доке тут не нахожу https://clickhouse.yandex/docs/ru/functions/array_functions.html?highlight=массивы#arrayjoin-arr
такого
SELECT arrayReduce('groupArrayArray', [[1, 2, 3], [10, 20, 30]])
сработало
вопрос закрыт