蜂巢表或视图?哪种方法应该是正确的?

时间:2017-05-16 03:06:45

标签: hadoop hive hdfs

我是HDFS / HIVE的新手。需要一些建议。我有一个RDBMS数据建模的背景。

我需要每日报告。该报告需要从两个临时表(HIVE)中获取数据。

如果我在HIVE中创建一个表,写一个视图来从分段中获取记录以填充HIVE表怎么办?创建一个指向HIVE表的HIVE视图,其中包含选择一天数据的where子句?

  1. HIVE临时表---> 2.查看填充HIVE表 - > 3. HIVE表----> 4.查看从3中创建的HIVE表中获取数据。
  2. 如果我在两个暂存HIVE表之上创建一个视图(使用where子句连接两个表以获取一天数据)该怎么办?

    1. HIVE临时表---> 2.查看从HIVE登台表中获取数据
    2. 我想了解HIVE最佳实践和解决方案策略。

2 个答案:

答案 0 :(得分:1)

查看与否查看,但需要ETL过程来加载表格。 ETL过程可以加入,聚合等,因此您可以使用星形/雪花或报表中的最终加入和聚合数据。为什么你需要这里的意见?要重用一些常见查询,以减少一些长复杂查询的复杂性,创建数据接口,创建逻辑实体等。您不一定只需要View来连接表并将数据加载到另一个表。一切都取决于您的要求。如果报告应该快速查询数据,那么数据应该由ETL过程预先计算。 View只是查询的包装器,每次查询数据时都会计算它。

答案 1 :(得分:1)

我认为如果你有零视图,1个单独的表,并使你的分区成为日期字段(但你不能在日期上分区,所以你必须将它存储为字符串)...最终用户更容易只有1个表...更少的表。

这使您的用户能够仅使用他们想要的最新日期,或利用完整的表格。