Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 配置单元表还是视图?哪种方法应该是正确的?_Hadoop_Hive_Hdfs - Fatal编程技术网

Hadoop 配置单元表还是视图?哪种方法应该是正确的?

Hadoop 配置单元表还是视图?哪种方法应该是正确的?,hadoop,hive,hdfs,Hadoop,Hive,Hdfs,我对HDFS/HIVE是新手。我需要一些建议。我有RDBMS数据建模的背景 我需要一份每日报告。报告需要从两个暂存表(配置单元)中提取数据 若我在配置单元中创建了一个表,那个么写一个视图来从暂存中获取记录,从而填充配置单元表。使用where子句选择一天数据,创建指向配置单元表的配置单元视图 配置单元暂存表-->2。用于填充配置单元表-->3的视图。蜂箱表-->4。视图从3中创建的配置单元表中获取数据 如果我在两个staging配置单元表上创建一个视图(使用where子句连接两个表以获取一天的数据

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

我需要一份每日报告。报告需要从两个暂存表(配置单元)中提取数据

若我在配置单元中创建了一个表,那个么写一个视图来从暂存中获取记录,从而填充配置单元表。使用where子句选择一天数据,创建指向配置单元表的配置单元视图

  • 配置单元暂存表-->2。用于填充配置单元表-->3的视图。蜂箱表-->4。视图从3中创建的配置单元表中获取数据
  • 如果我在两个staging配置单元表上创建一个视图(使用where子句连接两个表以获取一天的数据),该怎么办

  • 配置单元暂存表-->2。从配置单元暂存表获取数据的视图

  • 我想知道HIVE的最佳实践和解决方案策略。

    查看或不查看,但您需要ETL过程来加载表。ETL过程可以连接、聚合等,因此您将能够以星形/雪花或报表的形式使用最终连接和聚合的数据。你为什么需要这里的风景?要重用一些常见查询,降低一些长而复杂的查询的复杂性,创建数据接口,创建逻辑实体,等等。您不一定只需要查看就可以连接表并将数据加载到另一个表中。一切取决于你的要求。若报表应该快速查询数据,那个么数据应该由ETL过程预先计算。视图只是查询的包装,每次查询数据时都会对其进行计算。

    我认为最好是零视图、一个表,并将分区设置为日期字段(但不能对日期进行分区,因此必须将其存储为字符串)。。。这使得最终用户只需要1个表就更容易了。。。更少的桌子


    这使您的用户能够只使用他们想要的最新日期,或者利用整个表。

    视图将具有一些转换逻辑。它不是简单的一对一映射。其间有一些计算/推导。这就是我提到填充配置单元表的视图的原因。你可以把它看作是ETL过程。视图是ETL的最后阶段?最好是具体化最终视图并创建一个表,因为查询表更快,并且可以在负载不严重时安排加载具体化表的ETL过程,而报表查询数据更快。如果您的数据访问模式是“写一读多次”,那么您肯定应该具体化您在配置单元表中的联接。大数据表上的连接在时间和集群资源方面可能非常昂贵。