Поделиться через


Что такое преобразование данных в 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.