Стратегия разделения улья

У меня есть ежемесячное задание Spark, которое обрабатывает данные и сохраняет их в таблицы Hive/Impala (формат хранения файлов — паркет). Детализация таблицы — это ежедневные данные, но исходные данные для этого задания также поступают с ежемесячного задания.

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

3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
1
0
49
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваш подход правильный. Hive, Impala and Parquet as a file format. Что касается секционирования, помните, что worst то, что вы можете сделать, это иметь too many partitions, потому что их метаданные хранятся в Hive Metastore (реляционной базе данных), и если у вас очень большое количество разделов, любой запрос метаданных может быть тяжелым.

При выборе partitioning key проверьте, сколько данных у вас будет в каждом разделе. Вам нужно выбрать granulation, который, с одной стороны, позволит вам quickly access data, а с другой стороны, у вас не будет large number of small partitions (т.е. с небольшим объемом данных).

Пожалуйста, найдите больше информации о Hive & Spark:

Другие вопросы по теме