数据湖存储管理:Volume

概述

Lakehouse Volume 是云器 Lakehouse 中表示对象存储位置的对象。它提供了对对象存储的访问、存储、管理和组织文件等功能,可用于存储和访问各种格式的文件,包括结构化、半结构化和非结构化数据。Volume 可以像表、视图等对象一样在 Lakehouse 的 Schema 下进行组织和管理。

使用 Volume 功能会带来如下收益:

  • 统一数据分析:支持在云器 Lakehouse 中调用 AI 负载处理对象存储中的图片、PDF 以及特殊格式的非结构化数据,与平台中的结构化数据做统一处理和分析
  • 统一权限管理:支持使用云器 Lakehouse 平台的权限系统,对库表以及对象存储中的文件做统一权限管理
  • 统一数据治理:对象存储中的数据会被云器 Lakehouse 平台统一管理和治理

Volume 类型

Lakehouse Volume 分为内部 Volume外部 Volume 两大类:

类型分类创建方式存储位置说明
User Volume内部自动创建内部存储用户专属的个人存储空间,每个用户默认拥有
Table Volume内部自动创建内部存储每张表默认关联的文件存储区域,权限与表权限一致
Named Volume内部
CREATE VOLUME
CREATE VOLUME
(用户显式创建)
内部存储用户显式创建并自管理生命周期,用于跨团队共享资源
External Volume外部
CREATE EXTERNAL VOLUME
CREATE EXTERNAL VOLUME
外部存储(OSS/COS/S3)挂载外部对象存储,将对象存储视为数据湖

内部 Volume(User Volume、Table Volume、Named Volume)数据存储在 Lakehouse 内部,按 Lakehouse 存储标准计费。其中 User Volume 和 Table Volume 由系统自动创建,Named Volume 由用户显式创建并自行管理生命周期。外部 Volume 数据留在外部对象存储中不迁移。

类型对比

特性User VolumeTable VolumeExternal VolumeNamed Volume
创建方式自动创建自动创建(每表一个)
CREATE EXTERNAL VOLUME
CREATE EXTERNAL VOLUME
CREATE VOLUME
CREATE VOLUME
存储位置内部存储内部存储外部存储(OSS/COS/S3)内部存储
权限管理用户默认拥有与表权限一致需要单独授权需要单独授权
存储费用Lakehouse 存储计费Lakehouse 存储计费云厂商存储计费Lakehouse 存储计费
典型场景上传本地文件、RAG 知识库表关联 ETL 文件、批量导入导出挂载已有对象存储跨团队共享资源

数据操作协议

Volume 支持三种地址格式,用于在不同场景下引用文件:

协议类型地址格式典型场景
External/Named Volume
volume://[{workspace}.][{schema}.]volume_name/path_to_file
volume://[{workspace}.][{schema}.]volume_name/path_to_file
跨团队共享资源
User Volume
volume:user://~/path_to_file
volume:user://~/path_to_file
用户的自有空间
Table Volume
volume:table://[{workspace}.][{schema}.]table_name/path_to_file
volume:table://[{workspace}.][{schema}.]table_name/path_to_file
表关联 ETL 文件

地址格式说明

External/Named Volume 格式

volume://[{workspace}.][{schema}.]volume_name/upper.jar
volume://[{workspace}.][{schema}.]volume_name/upper.jar

  • workspace
    workspace
    schema
    schema
    :可选,省略时使用当前上下文默认值
  • volume_name
    volume_name
    :创建的 Volume 名称
  • upper.jar
    upper.jar
    :目标文件名

User Volume 格式

volume:user://~/upper.jar
volume:user://~/upper.jar

  • user
    user
    :表示使用 User Volume 协议
  • ~
    ~
    :表示当前用户,为固定值
  • upper.jar
    upper.jar
    :目标文件名

Table Volume 格式

volume:table://[{workspace}.][{schema}.]table_name/upper.jar
volume:table://[{workspace}.][{schema}.]table_name/upper.jar

  • workspace
    workspace
    schema
    schema
    :可选,省略时使用当前上下文默认值
  • table
    table
    :表示使用 Table Volume 协议
  • table_name
    table_name
    :表名,需根据实际情况填写
  • upper.jar
    upper.jar
    :目标文件名

DDL 操作

不同 Volume 类型支持的操作命令:

命令描述User VolumeTable VolumeExternal/Named Volume
CREATE VOLUME
CREATE VOLUME
创建 Named Volume
CREATE EXTERNAL VOLUME
CREATE EXTERNAL VOLUME
创建 External Volume
DROP VOLUME
DROP VOLUME
删除 Volume
DESC VOLUME
DESC VOLUME
查看 Volume 属性
SHOW VOLUMES
SHOW VOLUMES
列出已创建的 Volume
SHOW USER VOLUME DIRECTORY
SHOW USER VOLUME DIRECTORY
列出 User Volume 文件
SHOW TABLE VOLUME DIRECTORY
SHOW TABLE VOLUME DIRECTORY
列出 Table Volume 文件
SHOW VOLUME DIRECTORY
SHOW VOLUME DIRECTORY
列出 External/Named Volume 文件
REMOVE
REMOVE
删除 Volume 中的文件
PUT
PUT
上传文件到 Volume
GET
GET
从 Volume 下载文件

权限

权限说明
READ METADATA查看 Volume 对象元信息权限
READ VOLUME读取 Volume 对象下文件及目录的权限。当需要查看 Volume 下文件列表、SQL 读取 Volume 文件以及通过 GET 命令下载文件时需要
WRITE VOLUME写入数据到 Volume 的权限。当需要通过 PUT 命令上传文件,通过 REMOVE 命令删除文件时需要
ALTER VOLUMEALTER VOLUME 命令需要的权限。如:
ALTER VOLUME <volume_name> REFRESH
ALTER VOLUME <volume_name> REFRESH
刷新 Volume 下的文件元数据信息(仅 External Volume 支持)
ALLVolume 对象全部权限

成本

  • External Volume:在 Lakehouse 侧无额外存储费用,存储费用按云厂商标准收取
  • Named Volume(内部存储):按照实际存储大小收取 Lakehouse 存储费用
  • User Volume / Table Volume:按照实际存储大小收取 Lakehouse 存储费用

约束与限制

  • 上传单个文件大小不得超过 5 GB
  • JDBC 驱动要求 1.4.4 及以上版本支持本地 PUT/GET 接口
  • External Volume 不支持跨云厂商创建:阿里云实例只能创建 OSS Connection,腾讯云实例只能创建 COS Connection

相关链接

联系我们
预约咨询
微信咨询
电话咨询
邮件咨询