配置 Microsoft Azure Storage 认证信息
StarRocks 从 3.0 版本起支持在以下场景中集成 Microsoft Azure Storage(Azure Blob Storage 或 Azure Data Lake Storage):
- 从 Azure Storage 批量导入数据。
- 从 Azure Storage 备份数据、或把数据恢复到 Azure Storage。
- 查询 Azure Storage 中的 Parquet 或 ORC 格式的数据文件。
- 查询 Azure Storage 中的 Hive、Iceberg、Hudi、或 Delta Lake 表。
StarRocks 支持通过以下类型的 Azure 存储账号来访问 Azure Storage:
- Azure Blob Storage
- Azure Data Lake Storage Gen1
- Azure Data Lake Storage Gen2
本文档以 Hive catalog、文件外部表和 Broker Load 为例,介绍 StarRocks 在各应用场景下如何通过不同类型的存储账号来访问 Azure Storage。有关下面示例中出现的参数详解,参见 Hive catalog、文件外部表和 Broker Load。
Blob Storage
StarRocks 支持通过以下认证方式来访问 Blob Storage:
- Shared Key
- SAS Token
说明
从 Blob Storage 导入数据或直接查询 Blob Storage 中的数据文件时,需要使用 wasb 或 wasbs 作为文件协议访问目标数据:
- 如果您的存储账号支持通过 HTTP 协议进行访问,请使用 wasb 文件协议,文件路径格式为
wasb://<container>@<storage_account>.blob.core.windows.net/<path>/<file_name>/。- 如果您的存储账号支持通过 HTTPS 协议进行访问,请使用 wasbs 文件协议,文件路径格式为
wasbs://<container>@<storage_account>.blob.core.windows.net/<path>/<file_name>/。
基于 Shared Key 认证鉴权
External Catalog
在 CREATE EXTERNAL CATALOG 语句中,按如下配置 azure.blob.storage_account 和 azure.blob.shared_key:
CREATE EXTERNAL CATALOG hive_catalog_azure
PROPERTIES
(
"type" = "hive",
"hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083",
"azure.blob.storage_account" = "<blob_storage_account_name>",
"azure.blob.shared_key" = "<blob_storage_account_shared_key>"
);