MaxFrame新增OSS文件挂载能力,实现OSS Bucket与MaxCompute本地文件系统的无缝映射。通过MaxFrame声明式配置可以定义挂载路径,结合类POSIX 接口直接操作OSS数据,无需依赖传统SDK开发模式,显著降低开发复杂度。
适用场景
大规模数据处理:适用于需频繁交互OSS与MaxCompute的离线计算任务。
数据预处理:快速读取OSS中的原始数据,清洗、转换后写入MaxCompute。
混合存储架构:在保留OSS存储数据的同时,实现与MaxCompute的高效协同。
版本限制:要求MaxFrame SDK为2.4.0及以上版本。
核心特性
安全鉴权
支持基于RAM Role方式鉴权,避免暴露长期AK/SK,提升数据访问安全性。
无缝集成
将OSS Bucket映射为MaxCompute本地文件系统路径,支持直接读写操作。
兼容类POSIX接口(如
open、read、write),简化文件管理流程。
声明式配置
通过MaxFrame声明式配置:
@with_fs_mount定义挂载路径,无需编写复杂代码即可完成数据映射。开发效率提升
无需SDK编码,开发者可直接通过API操作OSS数据,缩短开发周期。
核心参数
path - 远程存储地址定义
格式规范:
schema://<endpoint>/<bucket>/<object_prefix>scheme:协议类型(OSS)。
endpoint:存储服务访问端点。
bucket:存储桶名称。
object_prefix:存储桶内的对象前缀路径。
使用示例:
path = "oss://oss-cn-shanghai-internal.aliyuncs.com/maxframe-test/oss_data"
mount_path - MaxCompute 本地挂载点
参数说明:
mount_path用于指定远程存储系统的MaxCompute本地访问路径,MaxFrame会自动创建该目录并挂载文件系统。配置要求:
权限要求:运行用户需具备目录读写权限。
唯一性:每个挂载点是独立的,避免路径冲突。
生命周期:装饰器执行结束后自动卸载(支持异常安全卸载)。
使用示例:
mount_path = "/mnt/oss_data" # MaxCompute本地挂载路径
storage_options - 认证与配置参数
使用RAM Role方式认证
登录RAM控制台。
在左侧导航栏选择。
在基础信息区域,可以获取ARN信息。
示例如下:
storage_options = { "role_arn": "acs:ram::xxxxxxxx:role/MaxFrameAccessRole" }RAM Policy示例,最小权限原则(只读访问):
{ "Statement": [ { "Action": "oss:GetObject", "Effect": "Allow", "Resource": "acs:oss:*:*:maxframe-lantu-poc/oss_data/*" } ], "Version": "1" }
最佳实践
OSS数据处理
@with_fs_mount(
path="oss://oss-cn-shanghai-internal.aliyuncs.com/bigdata-bucket/preprocessed/",
mount_path="/mnt/data",
storage_options={"role_arn": "acs:ram::123456:role/DataAccess"}
)
def etl_job():
df = pd.read_csv("/mnt/data/2025-*.csv")
# 分布式计算...OSS模型文件加载
@with_fs_mount(
path="oss://oss-cn-shanghai-internal.aliyuncs.com/model-registry/model_path",
mount_path="/mnt/model_path",
storage_options={"role_arn": "acs:ram::123456:role/ModelAccess"}
)
def resume_training():
model = load_model("/mnt/model_path/model.pkl)
# 模型训练...