hadoop - Hive 内部表和外部表的区别?

标签 hadoop hive hiveql

谁能告诉我Hive 的外部表和内部表的区别。 我知道放下 table 会有所不同。我不明白你所说的数据和元数据在内部被删除是什么意思,只有元数据在外部表中被删除。 谁能用节点来解释我。

最佳答案

Hive 在主节点上有一个关系数据库,用于跟踪状态。 例如,当您 CREATE TABLE FOO(foo string) LOCATION 'hdfs://tmp/'; 时,此表架构存储在数据库中。

如果你有一个分区表,分区存储在数据库中(这允许 hive 使用分区列表而无需转到文件系统并找到它们等)。这些东西就是“元数据”。

当您删除内部表时,它会删除数据,还会删除元数据。

当您删除外部表时,它只会删除元数据。这意味着 hive 现在不知道该数据。它不触及数据本身。

关于hadoop - Hive 内部表和外部表的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17038414/

相关文章:

arrays - 在 bash 中使用数组时变量未正确替换

java - mapreudce输入拆分大小大于容器或tasktracker jvm堆大小是否可以?

date - 如何将这些字符字段转换为 hive 中的时间戳

java - hive 达到 max worker 并且无法连接到 hiveserver2

hadoop - Hive在分区表上的分组依据给出重复的结果行

SQL - 查找两列相同的所有实例

hadoop - 在配置单元窗口范围内使用表列

hadoop - java.io.IOException:无效的BCFile

hadoop - hive 中的 wordcount 问题

sql - Concat,然后在Hive中分组