更改位置用途

ALTER_LOCATION_USE 可用于更改 Vertica 在存储位置存储的文件类型。您通常仅将标签用于 DATA 存储位置,而不用于 TEMP 存储位置。

以下示例显示了如何将 v_vmartdb_node0004 上的存储位置更改为仅存储数据文件:

=> SELECT ALTER_LOCATION_USE ('/thirdVerticaStorageLocation/' , 'v_vmartdb_node0004' , 'DATA');

更改 HDFS 存储位置

更改 HDFS 存储位置时,必须对 Vertica 群集中的所有节点进行更改。为此,请指定节点值 '',如以下示例所示:

=> SELECT ALTER_LOCATION_USE('hdfs:///user/dbadmin/v_vmart',
   '','TEMP');

您不能更改 USER 使用类型的存储位置(如果存储位置是以这种方式创建的),也不能将存储位置更改为 USER 类型(如果存储位置不是以这种方式创建的)。可以更改 USER 存储位置以指定 DATA(不支持存储 TEMP 文件)。但是,这样做不会影响 USER 存储位置的主要目标可由具有已分配权限的非 dbadmin 用户访问。

您不能将存储位置从 SHARED TEMP 或 SHARED USER 更改为 SHARED DATA,反之亦然。

更改存储位置用途的影响

在更改存储位置用途类型之前,注意必须保留至少一个位置用来存储节点上的数据文件和临时文件。可将数据文件和临时文件存储在相同或单独的存储位置中。

更改现有存储位置具有以下影响: