更新时间:2026-01-08 GMT+08:00

修改表的存储位置

功能描述

修改表的存储位置。

假设你有一个OBS表my_table,其数据存储在OBS并行文件系统路径obs://my-bucket/old-path,你可以使用本节语法将其存储位置修改为另一个并行文件系统路径obs://my-bucket/new-path。

并行文件系统是一种高性能文件系统,提供毫秒级别访问时延,TB/s级别带宽和百万级别的IOPS,适用于大数据交互式分析场景。

如需修改表分区的存储位置请参考修改表分区位置(只支持OBS表)

约束与限制

  • 本节操作仅适用于OBS表。
  • 在使用OBS表时,如果创建该表时指定了并行文件系统作为存储位置,那么可以使用 ALTER TABLE ... SET LOCATION语法来重置表的存储位置。

    根据表元数据类型不同,ALTER TABLE ... SET LOCATION适用的场景不同,请参考表1

    表1 ALTER TABLE ... SET LOCATION适用的场景

    元数据类型

    创建表时存储位置的桶类型

    计划修改的存储位置的桶类型

    是否支持修改表存储位置

    DLI

    对象桶

    对象桶

    支持

    DLI

    对象桶

    并行文件系统

    支持

    DLI

    并行文件系统

    并行文件系统

    支持

    DLI

    并行文件系统

    对象桶

    支持

语法格式

ALTER TABLE table_name SET LOCATION 'new_location';

关键字

LOCATION:存储路径。

参数说明

表2 参数描述

参数

描述

table_name

表名称。

new_location

新的存储路径。

示例

修改表my_table的存储位置:

ALTER TABLE my_table SET LOCATION 'obs://my-bucket/new-path';