Как разделить данные для AWS Athena (Presto), если я заранее не знаю запросов? - PullRequest
0 голосов
/ 17 июня 2019

У меня есть события с большими данными (TB), которые мне нужно запросить, и я пытаюсь правильно их разделить.

У меня есть клиент, и у каждого клиента есть много игр.Проблема в том, что есть поля, которые мы запрашиваем, которые могут быть нулевыми в некоторых событиях, поэтому их нельзя использовать в качестве разделов (например: сегмент).

Я думал о 2 стратегиях:

  1. разделов по: клиент / игра / дата (S3)
  2. разные таблицы для каждого клиента или игры и разделение только по дате.разные сегменты.

вариант 1 прост - и я фильтрую в предложении где.Вариант 2, потребует объединения.

Как правильно разделить такие данные?И под правильным я подразумеваю наиболее эффективный и наиболее экономически эффективный?

Reagards, Ido

1 Ответ

0 голосов
/ 19 июня 2019

Что касается события с большими данными, события описываются следующим образом: несколько клиентов, каждый клиент с несколькими играми и каждая игра с несколькими событиями, которые можно разделить по дате.

Теперь для разных игр схема событий может отличаться и, следовательно, при запросах может возвращаться нулевое значение.Нет зависимости от клиента.Таким образом, для разных клиентов и в одной и той же игре схема событий должна быть одинаковой.

Таким образом, среди клиентов / игр / даты и игр / клиента / даты лучше сделать раздел с играми / клиентом / датой, потому что вышеупомянутый раздел будет более полезным, так как после первого уровня раздела схема событийбыло бы так же.С точки зрения запроса для запроса без раздела игрового поля это не имеет никакого значения, но если в запросе используется поле игрового раздела, то это приведет к более высокой эффективности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...