gpt4 book ai didi

hadoop - 如何在不更改位置的情况下重命名配置单元表?

转载 作者:可可西里 更新时间:2023-11-01 14:09:24 25 4
gpt4 key购买 nike

基于下面的 Hive 文档:

Rename Table

ALTER TABLE table_name RENAME TO new_table_name;

This statement lets you change the name of a table to a different name.

As of version 0.6, a rename on a managed table moves its HDFS location as well. (Older Hive versions just renamed the table in the metastore without moving the HDFS location.)

有没有办法在不改变位置的情况下重命名表格?

最佳答案

是的,我们可以做到。您只需要依次执行以下三个命令。

  1. 假设您在配置单元中有一个外部表 test_1。并且您想将其重命名为 test_2,它应该指向 test_2 位置而不是 test_1。然后您需要使用以下命令将此表转换为托管表。test_1 -> 指向 test_1 位置

    ALTER TABLE db_name.test_1 SET TBLPROPERTIES('EXTERNAL'='FALSE');
  2. 重命名表名。

    ALTER TABLE db_name.test_1 RENAME TO db_name.test_2;
  3. 重命名为外部表后再次转换托管表。

    ALTER TABLE db_name.test_2 SET TBLPROPERTIES('EXTERNAL'='TRUE');

db_name.test_2表会指向test_2的位置。如果我们在不创建托管表的情况下执行此操作,它将指向 test_1 位置。

关于hadoop - 如何在不更改位置的情况下重命名配置单元表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35963498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com