Что такое преобразование данных в Azure Databricks?
Преобразование данных — это процесс преобразования, очистки и структурирования данных в доступный формат. Преобразование данных обычно следует архитектуре databricks medallion добавочного уточнения данных из необработанных данных в формат, используемый бизнесом.
На следующей схеме показан конвейер данных, содержащий ряд преобразований данных, которые превратит набор данных raw_customers
в набор данных clean_customers
путем удаления данных клиента без имени клиента в этом примере. Данные raw_transactions
превратились в clean_transactions
путем удаления транзакций с нулевой стоимостью доллара. Результирующий набор данных, называемый sales_report
, является присоединением clean_customers
и clean_transactions
. Аналитики могут использовать sales_report
для аналитики и бизнес-аналитики.
Пример преобразования данных
Типы преобразований данных
Databricks рассматривает два типа преобразований данных: декларативные и процедурные. Конвейер данных в предыдущем примере можно выразить с помощью любой парадигмы.
Декларативные преобразования сосредоточены на желаемом результате, а не на том, как его достичь. Вы указываете логику преобразования с помощью абстракций более высокого уровня, и DLT определяет наиболее эффективный способ его выполнения.
Процедурные преобразования данных сосредоточены на выполнении вычислений с помощью явных инструкций. Эти вычисления определяют точную последовательность операций для управления данными. Процедурный подход обеспечивает больший контроль над выполнением, но за счет повышения сложности и более высокого обслуживания.
Выбор между декларативным и процедурным преобразованием данных
Декларативное преобразование данных с помощью DLT лучше всего подходит при:
- Вам требуется быстрая разработка и развертывание.
- Конвейеры данных имеют стандартные шаблоны, которые не требуют низкоуровневого контроля над выполнением.
- Вам нужны встроенные проверки качества данных.
- Обслуживание и удобочитаемость являются главными приоритетами.
Процедурное преобразование данных с помощью кода Apache Spark лучше всего подходит для:
- Вы переносите существующую базу кода Apache Spark в Databricks.
- Вам нужен точный контроль над выполнением.
- Вам нужен доступ к низкоуровневым API, таким как
MERGE
илиforeachBatch
. - Необходимо записать данные в Kafka или внешние таблицы Delta.