Управление схемами формата данных
Managed Service for ClickHouse позволяет вставлять (INSERT
) и выводить (SELECT
) данные в различных форматах. Большинство таких форматов — самоописываемые, то есть они уже содержат в себе схему формата данных, описывающую допустимые типы данных, их порядок и представление в этом формате. Это позволяет, например, сразу делать вставку из файла.
Примечание
Схема формата данных (format schema) описывает формат ввода или вывода данных, в то время как схема данных (data scheme) описывает структуру и устройство баз данных и таблиц ClickHouse, которые хранят эти данные. Эти понятия не являются взаимозаменяемыми.
Форматы данных Cap'n Proto и Protobuf (включая ProtobufSingle) не содержат в себе схему формата — данные представляются в бинарном виде без какой-либо информации о структуре. Перед началом работы с данными в этих форматах (например, перед вставкой в таблицу) необходимо подключить схему данных к кластеру Managed Service for ClickHouse. Это позволит правильно интерпретировать количество, порядок и тип значений при работе с бинарными данными.
Вы можете подключить к кластеру Managed Service for ClickHouse одну или несколько таких схем формата, и использовать их для ввода и вывода требуемых данных в соответствующих форматах.
Важно
Чтобы использовать подключенные схемы формата, вставку данных в Managed Service for ClickHouse следует производить с помощью HTTP-интерфейса, т.к. в этом случае сериализация и десериализация данных производится на стороне сервера с использованием подключенных схем.
Подробнее о форматах данных см. в документации ClickHouse.
Примеры работы с форматами Cap'n Proto и Protobuf при вставке данных в кластер приведены в разделе Добавление данных в ClickHouse.
Перед подключением схемы формата данных
Managed Service for ClickHouse работает только со схемами формата данных, которые загружены в Object Storage. Перед подключением схемы к кластеру:
- Подготовьте файл со схемой формата (см. документацию Cap'n Proto и Protobuf).
- Загрузите файл со схемой формата в Object Storage.
- Получите ссылку на этот файл.
Подключить схему формата данных
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы подключить схему формата данных к кластеру, выполните команду:
-
для формата Cap'n Proto:
yc managed-clickhouse format-schema create "<имя схемы формата>" \ --cluster-name="<имя кластера>" \ --type="capnproto" \ --uri="<ссылка на файл в Object Storage>"
-
для формата Protobuf:
yc managed-clickhouse format-schema create "<имя схемы формата>" \ --cluster-name="<имя кластера>" \ --type="protobuf" \ --uri="<ссылка на файл в Object Storage>"
Имя кластера можно запросить со списком кластеров в каталоге.
Изменить схему формата данных
Managed Service for ClickHouse не отслеживает изменения в файле со схемой формата данных, который находится в бакете Object Storage.
Чтобы актуализировать содержимое схемы, которая уже подключена к кластеру:
-
Загрузите файл с актуальной схемой формата данных в Object Storage.
-
Получите ссылку на этот файл.
-
Измените параметры схемы формата данных, подключенной к Managed Service for ClickHouse, передав новую ссылку на файл со схемой формата.
CLIЕсли у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра
--folder-name
или--folder-id
.Чтобы изменить ссылку на файл в объектном хранилище со схемой формата данных, выполнив команду:
yc managed-clickhouse format-schema update "<имя схемы данных>" \ --cluster-name="<имя кластера>" \ --uri="<новая ссылка на файл в Object Storage>"
Имя схемы можно запросить со списком схем формата данных в кластере; имя кластера можно запросить со списком кластеров в каталоге.
Отключить схему формата данных
Примечание
После отключения схемы формата данных соответствующий объект остается в бакете Object Storage. Если этот объект со схемой формата больше не нужен, его можно удалить.
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы отключить схему формата данных, выполните команду:
yc managed-clickhouse format-schema delete "<имя схемы формата>" \
--cluster-name="<имя кластера>"
Имя схемы можно запросить со списком схем формата данных в кластере; имя кластера можно запросить со списком кластеров в каталоге.
Получить список схем формата данных в кластере
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список схем формата данных в кластере, выполните команду:
yc managed-clickhouse format-schema list --cluster-name="<имя кластера>"
Имя кластера можно запросить со списком кластеров в каталоге.
Получить детальную информацию о схеме формата данных
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить детальную информацию о схеме формата данных, выполните команду:
yc managed-clickhouse format-schema get "<имя схемы формата>" \
--cluster-name="<имя кластера>"
Имя схемы можно запросить со списком схем формата данных в кластере; имя кластера можно запросить со списком кластеров в каталоге.