猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
Hive内部表和外部表之间的区别?
谁能告诉我Hive的外部表和内部表之间的区别。我知道放桌子时会有不同。我不明白您的意思是数据和元数据在内部被删除,仅元数据在外部表中被删除。谁能解释我的节点。
慕莱坞森
浏览 965
回答 3
3回答
慕丝7291255
配置单元表可以创建为EXTERNAL或INTERNAL。这是一个影响数据加载,控制和管理方式的选择。在以下情况下使用EXTERNAL表:该数据还用于Hive之外。例如,数据文件由不锁定文件的现有程序读取和处理。即使在放置DROP TABLE之后,数据也需要保留在底层位置。如果您将多个模式(表或视图)指向一个数据集,或者正在遍历各种可能的模式,则可以应用此方法。您要使用自定义位置,例如ASV。Hive不应拥有数据和控件设置,目录等,您可以使用其他程序或进程来执行这些操作。您不是基于现有表(AS SELECT)创建表。在以下情况下使用INTERNAL表:数据是临时的。您希望Hive完全管理表和数据的生命周期。
0
0
0
千巷猫影
回答您的问题:对于外部表,Hive不会将数据移动到其仓库目录中。如果删除了外部表,那么将删除表元数据,但不会删除数据。对于内部表,Hive将数据移动到其仓库目录中。如果删除了表,则表元数据和数据将被删除。供你参考,内部和外部表之间的区别:对于外部表-外部表将文件存储在HDFS服务器上,但表未完全链接到源文件。如果删除外部表,该文件仍保留在HDFS服务器上。例如,如果您使用HIVE-QL在HIVE中创建一个名为“ table_test”的外部表并将该表链接到文件“ file”,则从HIVE中删除“ table_test”不会从HDFS中删除“ file”。有权访问HDFS文件结构的任何人都可以访问外部表文件,因此需要在HDFS文件/文件夹级别管理安全性。元数据保留在主节点上,从HIVE中删除外部表只会删除元数据,而不会删除数据/文件。对于内部表-根据设置存储在目录中hive.metastore.warehouse.dir, 默认情况下,内部表存储在以下目录“ / user / hive / warehouse”中,您可以通过更新配置文件中的位置来进行更改。删除表将分别从主节点和HDFS中删除元数据和数据。内部表文件安全性仅通过HIVE控制。安全需要在HIVE内部进行管理,可能需要在架构级别(取决于组织)进行管理。Hive可能具有内部或外部表,这是一个会影响数据加载,控制和管理方式的选择。在以下情况下使用EXTERNAL表:该数据还用于Hive之外。例如,数据文件由不锁定文件的现有程序读取和处理。即使在放置DROP TABLE之后,数据也需要保留在底层位置。如果您将多个模式(表或视图)指向单个数据集,或者正在遍历各种可能的模式,则可以应用此方法。Hive不应拥有数据和控件设置,目录等,否则您可能会有另一个程序或进程来执行这些操作。您不是基于现有表(AS SELECT)创建表。在以下情况下使用INTERNAL表:该数据是暂时的。您希望Hive完全管理表和数据的生命周期。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
源码
spark分组排序提取前N个值
1 回答
请问转让门店小程序需要源码吗?门店小程序有自己的源代码吗?是否要注册计算机软件著作权才可以交易?
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续