Обсуждаем ClickHouse
Что именно то не сделать :)
Если вы просто соединяете то дальше можете делать что угодно.
Почти всегда вопросы к тем кто делает row_number.
На пустом месте оконкой повышается потребление ресурсов под запросом
Есть any, first, argMax/Min, Limit by…
Если в Вашем примере таблицы поменять местами, то так же дубли появляются)
Попробовал row_number в каждой таблице по clientid, а далее 1=1, но пока не понятно решает таким образом нет
всмысле? не селектом же вставлять. mv обеспечивает триггер вставки в бекграунде
Читать полностью…я уже понял, как оно работает
там нет ничего про несколько таблиц из одного файла
можно подробнее, что вы предлагаете делать через matview?
я так понимаю, что таблицу, которая будет содержать сырые данные, недесериализованные, и из этой таблицы уже триггерами mat view писать в разные таблицы, на ходу десериализуя данные?
проще сделать тип JSON и пусть он сам там разбирается. Все-таки уже май 2025-го
Читать полностью…Ну все правильно делаете, что не так?
Если схема JSON фиксированная, то опишите ее полностью и за один проход получите структуру tupe of tuples. Если есть какая-то динамика, то только так как вы сделали.
Но конечно проще делать так:
JSONExtract(s, 'Map(String,String)') AS p
посмотрите на JSON_QUERY
https://clickhouse.com/docs/sql-reference/functions/json-functions#json_query
может с ним получится?
Добрый день!
В случае 2-3х этажного JSON можно сделать как-то короче?
https://fiddle.clickhouse.com/2f94af6c-fb7f-43c3-ada7-e35a1368eaf1
получить вот так например
https://fiddle.clickhouse.com/d07c8668-18d8-4b92-b865-4343575021e6
https://fiddle.clickhouse.com/b9467c8b-349b-4818-a78f-9bcbf4e024bc
Alice 1
Alice 2
Alice 1
?
Читать полностью…
https://
неправильно схему указываете...
clickhouse-client у него другой порт 9440
Там не сделать так, у каждого clientid из метрики есть множество визит I’d с закрепленным источником трафика при этом в разные дни и они нужны все, чтобы можно потом было получить цепочки всех посещений под пользователей. Потом уже веса и прочее считать
Читать полностью…А в чем проблема то?
Если у вас 1:N, то вы конечно получите N копий того что со стороны 1
И дальше просто учитываете это, делая соответствующие группировки и агрегации.
Либо до соединения делаете чтобы было 1:1, делая группировку на стороне N
у меня вопрос, как сделать вставку сразу в несколько таблиц из одного s3queue. получается, что мне нужно как-то в materiazlied view разбирать сырые данные из строки в json или csv, оттуда проецировать данные уже в схемы нужных таблиц
Читать полностью…тогда расскажите. И в особенности что там делает MV
Читать полностью…Прочитайте в документации что такое s3queue и как она работает.
Читать полностью…не обязательно. Пойдет и встроенный Keeper
Читать полностью…Спасибо! Посмотрю. Проект новый так что можно сразу все свежее :)
Читать полностью…Я так как с ним не работаю, то не помню в каком он статусе :)) доделан или нет
Читать полностью…Не фиксированная
На вот это ориентировался
https://kb.altinity.com/altinity-kb-queries-and-syntax/jsonextract-to-parse-many-attributes-at-a-time/
Но думал мало ли, можно что проще :)
Мне нужно сделать MV которое из развесистых джинсов будет выбирать полтора десятка значений по полям целевой таблицы
15 запросов кажется будет дороговато, поэтому и пробую варианты сделать несколько мэпов и уже их разбирать по полям
Habemus papam! Поздравляем всех католиков (и львов заодно)
Читать полностью…distinct после select выполняется. Оконка это по сути функция над множеством из select.
Замените distinct на group by и увидите разницу.
потому что Alice, 1 и Alice, 2 это два дистинкт кортежа? distinct же написан на все колонки
Читать полностью…Клиентом через 8440 подключился, спасибо. я теперь через rest подключаюсь, тоже получил ответ Ok.
Короче все пучком, заработало, и клиентом и через https подключился