Перейти к содержимому
Последнее обновление

CREATE-STORAGE-VAULT

Описание​

Эта команда используется для создания хранилища. В этом документе описан синтаксис создания самостоятельно управляемого хранилища в Doris.

Синтаксис​

CREATE STORAGE VAULT [IF NOT EXISTS] <vault_name> [ <properties> ]

Обязательные параметры​

ПараметрОписание
<vault_name>Имя хранилища. Это уникальный идентификатор создаваемого хранилища.

Необязательные параметры​

ПараметрОписание
[IF NOT EXISTS]Если указанное хранилище уже существует, операция создания не выполняется и ошибка не возникает. Это предотвращает повторное создание одного и того же хранилища.
<properties>Набор пар «ключ — значение» для настройки или обновления отдельных свойств хранилища. Каждое свойство состоит из ключа () и значения (), разделённых знаком равенства (=). Несколько пар разделяются запятыми (,).
примечание

Свойство type принимает только два значения: "S3" или "hdfs" (без учёта регистра). Все системы объектного хранения, включая Amazon S3, Alibaba Cloud OSS, Tencent Cloud COS, Huawei Cloud OBS, Baidu Cloud BOS, MinIO, Azure Blob Storage и Google Cloud Storage, используют "type" = "S3", поскольку Doris обращается к ним через API, совместимый с S3. Конкретный облачный сервис задаётся отдельным свойством provider (COS, OSS, S3, OBS, BOS, AZURE или GCP). Имена свойств s3.access_key / s3.secret_key следуют тому же соглашению и не относятся исключительно к AWS S3.

Хранилище S3​

ПараметрОбязательностьОписание
s3.endpointОбязателенКонечная точка объектного хранилища. Для Azure Blob Storage используется фиксированная конечная точка blob.core.windows.net.
s3.regionОбязателенРегион вашего бакета хранилища. (Не требуется при использовании GCP или AZURE).
s3.root.pathОбязателенПуть для хранения данных.
s3.bucketОбязателенБакет вашей учётной записи объектного хранилища. (Для Azure это StorageAccount).
s3.access_keyОбязателенКлюч доступа к вашей учётной записи объектного хранилища. (Для Azure это AccountName).
s3.secret_keyОбязателенСекретный ключ вашей учётной записи объектного хранилища. (Для Azure это AccountKey).
providerОбязателенОблачный провайдер, предоставляющий сервис объектного хранения. Поддерживаемые значения: COS,OSS,S3,OBS,BOS,AZURE,GCP
use_path_styleНеобязателенИспользовать path-style URL (для сред с частным развёртыванием) или virtual-hosted-style URL (рекомендуется для публичных облачных сред). Значение по умолчанию: true (path-style).

Примечание:

  1. Если в s3.endpoint не указан ни префикс http://, ни префикс https://, по умолчанию используется http. Если префикс задан явно, используется указанный префикс;

  2. Doris также поддерживает AWS Assume Role для хранилищ S3 (пока только для AWS S3). Подробнее см. в разделе Интеграция с AWS.

Хранилище HDFS​

ПараметрОбязательностьОписание
fs.defaultFSОбязателенСвойство конфигурации Hadoop, задающее файловую систему, используемую по умолчанию.
path_prefixНеобязателенПрефикс пути для хранения данных. Если не задан, используется путь по умолчанию в каталоге пользователя.
hadoop.usernameНеобязателенСвойство конфигурации Hadoop, задающее пользователя для доступа к файловой системе. Если не задано, используется пользователь, запустивший процесс Hadoop.
hadoop.security.authenticationНеобязателенМетод аутентификации Hadoop. Для использования Kerberos укажите kerberos.
hadoop.kerberos.principalНеобязателенПуть к вашему principal Kerberos.
hadoop.kerberos.keytabНеобязателенПуть к вашему keytab Kerberos.

Примеры​

1. Создание хранилища HDFS.​

CREATE STORAGE VAULT IF NOT EXISTS hdfs_vault_demo
PROPERTIES (
"type" = "hdfs", -- required
"fs.defaultFS" = "hdfs://127.0.0.1:8020", -- required
"path_prefix" = "big/data", -- optional, generally fill in according to the business name
"hadoop.username" = "user" -- optional
"hadoop.security.authentication" = "kerberos" -- optional
"hadoop.kerberos.principal" = "hadoop/127.0.0.1@XXX" -- optional
"hadoop.kerberos.keytab" = "/etc/emr.keytab" -- optional
);

2. Создание хранилища OSS​

CREATE STORAGE VAULT IF NOT EXISTS oss_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "oss-cn-beijing.aliyuncs.com", -- required
"s3.access_key" = "xxxxxx", -- required, Your OSS access key
"s3.secret_key" = "xxxxxx", -- required, Your OSS secret key
"s3.region" = "cn-beijing", -- required
"s3.root.path" = "oss_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your OSS bucket name
"provider" = "OSS", -- required
"use_path_style" = "false" -- optional, OSS recommended to set false
);

3. Создание хранилища COS​

CREATE STORAGE VAULT IF NOT EXISTS cos_demo_vault
PROPERTIES (
"type" = "S3",
"s3.endpoint" = "cos.ap-guangzhou.myqcloud.com", -- required
"s3.access_key" = "xxxxxx", -- required, Your COS access key
"s3.secret_key" = "xxxxxx", -- required, Your COS secret key
"s3.region" = "ap-guangzhou", -- required
"s3.root.path" = "cos_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your COS bucket name
"provider" = "COS", -- required
"use_path_style" = "false" -- optional, COS recommended to set false
);

4. Создание хранилища OBS​

CREATE STORAGE VAULT IF NOT EXISTS obs_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "obs.cn-north-4.myhuaweicloud.com", -- required
"s3.access_key" = "xxxxxx", -- required, Your OBS access key
"s3.secret_key" = "xxxxxx", -- required, Your OBS secret key
"s3.region" = "cn-north-4", -- required
"s3.root.path" = "obs_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your OBS bucket name
"provider" = "OBS", -- required
"use_path_style" = "false" -- optional, OBS recommended to set false
);

5. Создание хранилища BOS​

CREATE STORAGE VAULT IF NOT EXISTS bos_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "s3.bj.bcebos.com", -- required
"s3.access_key" = "xxxxxx", -- required, Your BOS access key
"s3.secret_key" = "xxxxxx", -- required, Your BOS secret key
"s3.region" = "bj", -- required
"s3.root.path" = "bos_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your BOS bucket name
"provider" = "BOS", -- required
"use_path_style" = "false" -- optional, BOS recommended to set false
);

6. Создание хранилища S3​

CREATE STORAGE VAULT IF NOT EXISTS s3_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "https://s3.us-east-1.amazonaws.com", -- required
"s3.access_key" = "xxxxxx", -- required, Your S3 access key
"s3.secret_key" = "xxxxxx", -- required, Your S3 secret key
"s3.region" = "us-east-1", -- required
"s3.root.path" = "s3_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your S3 bucket name
"provider" = "S3", -- required
"use_path_style" = "false" -- optional, S3 recommended to set false
);

Примечание:

Doris также поддерживает AWS Assume Role для хранилищ S3 (пока только для AWS S3). Подробнее см. в разделе Интеграция с AWS

7. Создание хранилища MinIO​

 CREATE STORAGE VAULT IF NOT EXISTS minio_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "127.0.0.1:9000", -- required
"s3.access_key" = "xxxxxx", -- required, Your minio access key
"s3.secret_key" = "xxxxxx", -- required, Your minio secret key
"s3.region" = "us-east-1", -- required
"s3.root.path" = "minio_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your minio bucket name
"provider" = "S3", -- required
"use_path_style" = "true" -- required, minio recommended to set false
);

8. Создание хранилища AZURE​

CREATE STORAGE VAULT IF NOT EXISTS azure_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "blob.core.windows.net", -- required
"s3.access_key" = "xxxxxx", -- required, Your Azure AccountName
"s3.secret_key" = "xxxxxx", -- required, Your Azure AccountKey
"s3.region" = "us-east-1", -- required
"s3.root.path" = "azure_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your Azure StorageAccount
"provider" = "AZURE" -- required
);

9. Создание хранилища GCP​

CREATE STORAGE VAULT IF NOT EXISTS gcp_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "storage.googleapis.com", -- required
"s3.access_key" = "xxxxxx", -- required
"s3.secret_key" = "xxxxxx", -- required
"s3.region" = "us-east-1", -- required
"s3.root.path" = "gcp_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required
"provider" = "GCP" -- required
);

Примечание

Параметр s3.access_key соответствует Access ID ключа HMAC в GCP

Параметр s3.secret_key соответствует Secret ключа HMAC в GCP

Ключевые слова​

CREATE, STORAGE VAULT