【问题标题】:Hive Managed vs External table for Updates and Inserts用于更新和插入的 Hive 托管与外部表
【发布时间】:2020-09-09 02:46:04
【问题描述】:

hive 外部表和托管表的优缺点是什么?

我们想在 Hive 表中进行更新和插入,但想知道对这些表采取哪种方法(托管表或创建一种解决方法,在手动文件更新后刷新外部表),尤其是在随着时间的推移添加许多文件之后.. 一种方法或者另一个变得太慢(例如,太多文件/太多更新无法通过 Metastore 跟踪,因此主节点变慢?)?

谢谢。

【问题讨论】:

    标签: sql hadoop hive hdfs amazon-emr


    【解决方案1】:

    在 Hive 上执行 DML 有一些限制。请阅读文档链接以获取更多详细信息 - https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions。始终建议不要在 Hive 托管表上使用 DML,特别是如果数据量很大或者表的大小随着时间的推移而增长,这些操作会变得太慢。虽然,如果在分区/桶而不是完整表上完成这些操作会快得多。尽管如此,最好处理文件中的编辑并通过外部表进行完全刷新,并且仅在托管表上使用 DML 作为最后的手段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-13
      • 2013-06-06
      • 1970-01-01
      • 2019-03-09
      • 2020-07-18
      • 2019-01-13
      • 2016-09-14
      相关资源
      最近更新 更多