Обсуждаем ClickHouse
ну там инструкция для того чтобы один сервер развернуть, локально, поиграться, а не чтобы кластер серверов...
Читать полностью…Ого как надо заморочиться, чтобы получить distributed randomly таблик -)
Читать полностью…а если вам кластер нужен
то лучше поставьте docker и docker-compose
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) test" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-scan-plugin
у меня нет /etc/clickhouse-server, не потому ли, что я не выполнил эту часть инструкции
You can also install it:
sudo ./clickhouse install
а сразу ./clickhouse server ?
Спасибо! т.е. мне надо в config.xml создать руками эту мету по ссылке, если узла <remote_servers> нет ?
Читать полностью…ну тогда документацию стоит почитать...
https://clickhouse.com/docs/engines/table-engines/special/distributed#distributed-clusters
значит у вас ни один кластер не поеределен
У вас есть возможность конфигурацию менять?
Не надо такое спрашивать у Гопоты.
Хочется генеративного? Есть Ask AI в документации КХ
Пытаюсь понять, как в CH создать аналог Greenplum табл-ы DISTRIBUTD RANDOMLY, гже каждая строка падает на случайны шард ?
Если это годится, то что д.б. в 'cluster_name' ? :
-- 1. Создаём локальную таблицу (на каждом узле)Читать полностью…
CREATE TABLE local_table (
id UInt32,
data String
) ENGINE = MergeTree()
ORDER BY id;
-- 2. Создаём распределённую таблицу, которая раскидывает данные случайным образом
CREATE TABLE distributed_table AS local_table
ENGINE = Distributed(
'cluster_name', -- имя кластера, которое вы задаёте при настройке
database_name, -- база данных
local_table, -- локальная таблица
rand() % 8 -- распределение по случайным числам (например, 8 частей)
10x! numbers(1,3) - работает, sequence(1, 10) - нет
Читать полностью…В ClickHouse нет прямого аналога функции generate_series
, как в PostgreSQL. Однако, вы можете создать аналогичную функциональность с помощью других методов.
Вот несколько способов, как можно сгенерировать последовательность чисел в ClickHouse:
1. Использование arrayJoin
и array
:
Вы можете создать массив и затем использовать arrayJoin
для его разворачивания.
SELECT arrayJoin(array(1, 2, 3, 4, 5)) AS number
numbers
:numbers
, которая генерирует последовательность чисел.SELECT number
FROM numbers(10) -- Генерирует числа от 0 до 9
sequence
(начиная с версии 21.8):sequence
для генерации последовательностей.SELECT sequence(1, 10) AS numbers
SELECT number + 1 AS number
FROM numbers(10) -- Генерирует числа от 0 до 9, добавляем 1
generate_series
.
Читать полностью…
Взлетел -) версию WSL с 1 до 2 забыл поднять
Читать полностью…вот да - это и остается. просто было интересно реально ли сразу сгенерить. Спасибо за хелп!
Читать полностью…спасибо за ответ. да, именно так и пробовал. все упирается в ошибку: Expected literal, got concat. Т.е. если даже оборачивать это все через явный concat() валится та же ошибка.
Читать полностью…Если source-табличка тут же на том же инстансе и тех же дисках, и распределение запросов по ключам равномерное (нет более частых) - то нет смысла и только в память?
Читать полностью…rand() просто, без % 8
дистрибутед сам разберется с количеством шардов - будет раскидывать на сколько у вас есть
спасибо, попробую. Так-то ставил по https://clickhouse.com/docs/knowledgebase/install-clickhouse-windows10
Читать полностью…тогда поставьте как положено по инструкции через пакет
https://clickhouse.com/docs/install/debian_ubuntu
да, но лучше сделать в /etc/clickhouse-server/config.d/remote_servers.xml
Вряд ли у вас версия в которой ее не было :))
https://clickhouse.com/docs/sql-reference/functions/array-functions#range
А если SELECT count(*) FROM system.clusters = 0 ?
Читать полностью…в cluster_name должно быть имя кластера из <remote_servers> секции конфига
см.
SELECT * FROM system.clustersЧитать полностью…
супер, значит на простых вопросах гпт хотяб в 50% попадает
Читать полностью…Есть
https://fiddle.clickhouse.com/cd86748a-b8fc-420a-9729-a1d2f9587044
В CH есть аналог generate_series из PG ? Вот этот вариант не рабочий или чего-то не знаю ? Версия БД 25.6.1
Читать полностью…Помогите ньюбу: Ставлю CH по https://clickhouse.com/docs/knowledgebase/install-clickhouse-windows10 на Ubuntu под виндой через wsl.
Дошел до пункта
Start the clickhouse server:
Это корректный высер ?
ок. собирайте литерал на стороне приложения тогда
Читать полностью…а что именно не получается?
как именно выглядел запрос?
BACKUP TABLE data TO S3('https://mars-doc-test.s3.amazonaws.com/backup-S3/my_backup-' || formatDateTime(now(), '%Y-%m-%d'), 'ABC123', 'Abc+123')
ну там в зависимости от source
стараются сделать batch запрос
WHERE id IN (...)
для redis например делается MGET и т.п.
напрямую смысла не имеют, обычно поверх еще cached добавляется... тогда если cache hit rate хороший, то работает норм и памяти может меньше есть...