0

我有需要查询的大数据事件 (TB),并且我正在尝试对其进行正确分区。

我有客户,每个客户都有很多游戏。问题是我们查询的某些字段在某些事件中可能为空,因此它们不能用作分区(例如:段)。

我想到了2个策略:

  1. 分区方式:客户端/游戏/日期(S3)
  2. 每个客户端或游戏不同的表,并且仅按日期分区。不同的桶。

选项 1 很简单 - 我在 where 子句中进行过滤。选项 2,将需要工会。

分区此类数据的正确方法是什么?正确的意思是最有效和最具成本效益的?

问候,伊多

4

1 回答 1

0

就大数据事件的描述而言,事件按照如下行为:多个客户端,每个客户端有多个游戏,每个游戏有多个事件,可以在日期上进行分区。

现在,对于不同的游戏,事件模式可能不同,因此,查询可能会返回空值。不依赖客户端。因此,对于不同的客户端和相同的游戏,事件模式应该相同。

因此,在客户端/游戏/日期和游戏/客户端/日期中,最好使用游戏/客户端/日期进行分区,因为上述分区会更有帮助,因为在第一级分区之后,事件模式将相同。从查询的角度来看,没有游戏字段分区的查询,没有任何区别,但是如果在查询中使用游戏分区字段,那么效率会更高。

于 2019-06-19T17:36:40.680 回答