步骤1.我创建一个配置单元外部表“test”,并给出一些位置,例如“/ user / hive2”。
第2步。我在“测试”表中加载文件。
步骤3.我从测试中选择*。我得到我的记录。
步骤4.通过拖放表测试来删除该表。
步骤5.我从测试中选择*并找到未找到的表。
那么使用外部表有什么意义呢?如果删除了“测试”表的元数据,并且我无法对其查询,那么为什么要使用外部表?
最佳答案
@Nishant:在此论坛中问通用问题之前,您应该做一些功课。无论如何,这是一个快速链接,可用于总体上对配置单元外部表进行详细说明-External Hive Tables
删除内部表时,它会删除数据,并且还会删除元数据。您将不再有权访问数据
当您删除外部表时,它仅删除元数据。这意味着 hive 现在不知道这些数据。它不会触摸数据本身。现在,您可以访问数据并执行任何操作(如果需要)。当您需要进站数据并随后将整个数据转储到托管表以进行配置单元操作时,也最好使用外部表
另外,这是另一个stackoverflow线程的注释
在以下情况下使用EXTERNAL表:
在以下情况下使用INTERNAL表:
您希望Hive完全管理表和数据的生命周期。
希望这会有所帮助。
关于hadoop - 配置单元外部表的意义是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34073762/