сравнение стратегии разбиения искры между датой = дд-мм-гггг и гггг = {xxxx} / мм = {мм} / дд = {xx} - PullRequest
0 голосов
/ 21 июня 2020

Как выбрать стратегию разделения в Spark on Date. У меня есть столбец во фрейме данных как дата в формате 2020-02-19. следует указать дату в столбцах раздела при записи или создать несколько столбцов из даты в виде дд, мм, гггг в таблице и указать столбцы гггг, мм, дд при повторном разбиении?

Какие проблемы возникнут, если я указать каждую стратегию разделения

1 Ответ

0 голосов
/ 22 июня 2020

Нет фактического разбиения усиления в одном разделе date=yyyy-mm-dd или в нескольких разделах year=yyyy/month=mm/day=dd, если вам нужно обработать последние 10 дней, будет получено одинаковое количество данных одновременно. Самая большая разница заключается в том, как вы запрашиваете или как вы будете поддерживать свои данные.

С одним единственным разделом вам будет легко писать запросы на определенный c день. Мне нужно 3 дня пробегать go. Или мне нужно запросить диапазон дат с 1 января по 1 мая. Наличие одного раздела с датой значительно облегчит вам жизнь.

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

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

...