我是HDFS / HIVE的新手。需要一些建议。我有一个RDBMS数据建模的背景。
我需要每日报告。该报告需要从两个临时表(HIVE)中获取数据。
如果我在HIVE中创建一个表,写一个视图来从分段中获取记录以填充HIVE表怎么办?创建一个指向HIVE表的HIVE视图,其中包含选择一天数据的where子句?
如果我在两个暂存HIVE表之上创建一个视图(使用where子句连接两个表以获取一天数据)该怎么办?
我想了解HIVE最佳实践和解决方案策略。
答案 0 :(得分:1)
查看与否查看,但需要ETL过程来加载表格。 ETL过程可以加入,聚合等,因此您可以使用星形/雪花或报表中的最终加入和聚合数据。为什么你需要这里的意见?要重用一些常见查询,以减少一些长复杂查询的复杂性,创建数据接口,创建逻辑实体等。您不一定只需要View来连接表并将数据加载到另一个表。一切都取决于您的要求。如果报告应该快速查询数据,那么数据应该由ETL过程预先计算。 View只是查询的包装器,每次查询数据时都会计算它。
答案 1 :(得分:1)
我认为如果你有零视图,1个单独的表,并使你的分区成为日期字段(但你不能在日期上分区,所以你必须将它存储为字符串)...最终用户更容易只有1个表...更少的表。
这使您的用户能够仅使用他们想要的最新日期,或利用完整的表格。