【问题标题】:Can I change a table from internal to external in hive?我可以在 hive 中将表从内部更改为外部吗?
【发布时间】:2022-04-21 23:47:49
【问题描述】:

我在hive中创建了一个表作为托管表,但它应该是外部的,是否可以在不丢失数据的情况下更改表的表类型?

【问题讨论】:

    标签: types hive external


    【解决方案1】:
    ALTER TABLE <table> SET TBLPROPERTIES('EXTERNAL'='TRUE')
    

    注意:EXTERNAL 和 TRUE 需要大写,否则不起作用

    【讨论】:

    • 这实际上并没有将您的数据移动到外部位置,您的数据仍在 HDFS 上。 @Olaf 的解决方案是对的
    【解决方案2】:

    您可以将数据文件从 Hive 数据位置复制到您计划存储外部表的位置,删除该表并将其重新创建为外部表。

    【讨论】:

    • 想通了! ALTER TABLE SET TBLPROPERTIES('EXTERNAL'='TRUE');
    【解决方案3】:

    更改表 SET TBLPROPERTIES('EXTERNAL'='TRUE')

    注意:仅当它是非事务性内部/托管表时才有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 2017-09-29
      相关资源
      最近更新 更多