在维护已加载,托管或外部数据方面,哪一种更好(从性能和长期运行角度来看更好?
并且通过维护,我的意思是这些表每天都会频繁进行以下操作;
取决于您的用例。例如,在多个应用程序中使用外部表时,建议使用外部表。在这种情况下,建议与蜂巢猪或其他应用程序一起使用,以处理数据。主要在读取数据时使用外部表。
尽管在托管表的情况下,hive可以完全控制数据。虽然您可以将任何外部表转换为托管表,反之亦然
alter table table_name SET TBLPROPERTIES('EXTERNAL'='TRUE');
根据您的情况,您经常对数据进行修改,因此,蜂巢最好完全控制数据。在此场景中,建议使用托管表。
除该托管表外,它比外部表更安全,因为任何人都可以访问外部表。在托管表中,您可以实现蜂巢级别的安全性,从而提供更好的控制,但是在外部情况下,您将必须实现HDFS级别的安全性。
您可以参考下面的链接,这些链接可以为您提供一些需要考虑的指标