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


Стандартизация данных

Данные поступают в учетные записи озера данных в различных форматах. К этим форматам относятся удобочитаемые человеческие форматы, такие как JSON, . CSV-файлы или XML-файлы и сжатые двоичные форматы, такие как TAR или GZ. Поступающие данные также имеют множество размеров из нескольких измененных файлов в экспорт всей таблицы SQL. Данные также могут поступать как большое количество небольших файлов, которые являются несколькими кб за штуку, например события в режиме реального времени из решения Интернета вещей.

Хотя Azure Data Lake Storage 2-го поколения поддерживает хранение для всех видов данных без ограничений, следует тщательно рассмотреть форматы данных, чтобы обеспечить эффективность обработки конвейера и оптимизировать затраты.

Многие организации теперь стандартизуют формат приема и отделяют вычислительные ресурсы от хранилища. Из-за этого формат Delta Lake стал предпочтительным стандартом приема данных через слой обогащения. На уровне обогащения команда приложений данных может обслуживать данные в формате, который отражает их вариант использования.

Примечание.

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

В этой статье представлен обзор Delta Lake, его производительности и того, как вы сможете обеспечить поддержку соответствия требованиям, а также как стандартизировать данные по мере того, как он передается из источника в слой обогащения.

Delta Lake

Delta Lake — это слой хранения с открытым исходным кодом, который приносит транзакции ACID (атомарность, согласованность, изоляция и устойчивость) к рабочим нагрузкам больших данных и Apache Spark. Azure Synapse Analytics и Azure Databricks совместимы с Linux Foundation Delta Lake.

Основные функции Delta Lake

Функция Description
Транзакции ACID Озера данных обычно заполняются несколькими процессами и конвейерами, некоторые из которых записывают данные одновременно с чтением. Инженеры данных, используемые для выполнения ручного процесса, подверженного ошибкам, чтобы обеспечить целостность данных до того, как Delta Lake и транзакции вступили в использование. Delta Lake позволяет использовать привычные транзакции ACID в озерах данных. Он обеспечивает самый сильный уровень изоляции, сериализуемость. Дополнительные сведения см. в разделе "Погружение в Delta Lake": распаковка журнала транзакций.
Работа с масштабируемыми метаданными В больших данных даже метаданные могут быть "большими данными". Delta Lake обрабатывает метаданные так же, как и другие данные. Она использует распределенную мощность обработки Spark для обработки всех метаданных. Из-за этого Delta Lake может легко обрабатывать таблицы с петабайтами масштабирования с миллиардами секций и файлов.
Путешествие во времени (управление версиями данных) Возможность "отменить" изменение или вернуться к предыдущей версии является ключевой функцией транзакций. Delta Lake предоставляет моментальные снимки данных, позволяющие вернуться к более ранним версиям данных для аудита, отката или повторных экспериментов. Дополнительные сведения см. в статье О путешествии во времени с Delta Lake при работе с крупными озерами данных.
Открытый формат Apache Parquet, базовый формат Delta Lake, позволяет применять эффективные схемы сжатия и кодирования.
Объединение пакетной службы, источника потоковой передачи и приемника Таблица в Delta Lake одновременно является пакетной таблицей и источником потоковой передачи и приемником. Прием потоковой передачи данных, пакетная историческая обратная заполнение и интерактивные запросы все работают вне поля.
Принудительное применение схемы Применение схемы помогает обеспечить правильные типы данных и обязательные столбцы, что предотвращает несоответствие данных плохим данным. Дополнительные сведения см. в статье Погружение в Delta Lake: применение и эволюция схемы
Эволюция схемы Delta Lake позволяет автоматически применять изменения к схеме таблицы без необходимости записи DDL миграции. Дополнительные сведения см. в статье Погружение в Delta Lake: применение и эволюция схемы
Журнал аудита Журнал транзакций Delta Lake записывает сведения о каждом изменении, внесенных в данные. Эти записи предоставляют полный журнал аудита всех изменений.
Обновление и удаление данных Delta Lake поддерживает API Scala, Java, Python и SQL для различных функций. Поддержка операций слияния, обновления и удаления помогает соответствовать требованиям соответствия требованиям. Дополнительные сведения см. в статье Объявление о выпуске Delta Lake 0.6.1, объявление о выпуске Delta Lake 0.7 и простом, надежном upserts и deletes on Delta Lake Tables с помощью API Python (который включает фрагменты кода для слияния, обновления и удаления команд DML).
100%-ная совместимость с программным интерфейсом Apache Spark API Разработчики могут использовать Delta Lake с минимальным изменением существующих конвейеров данных, так как он полностью совместим с существующими реализациями Spark.

Дополнительные сведения см. на странице проекта Delta Lake.

Полная документация см. на странице документации Delta Lake

Производительность

Использование большого количества небольших файлов часто приводит к неоптимальной производительности и более высокой стоимости операций чтения и списка. Azure Data Lake Storage 2-го поколения оптимизировано для более крупных файлов, позволяющих выполнять задания аналитики быстрее и с более низкой стоимостью.

Delta Lake включает множество функций, которые помогут оптимизировать производительность с помощью управления файлами.

Вот некоторые примеры.

  • Журнал транзакций минимизирует дорогостоящие операции LIST.
  • Z-Упорядочение (многомерные кластеризация) обеспечивает оптимизированную отправку предиката для фильтров запросов.
  • Оптимизация кэширования и запросов сокращает объем необходимого объема сканирования хранилища. Дополнительные сведения см. в статье "Оптимизация производительности с помощью кэширования".
  • ОПТИМИЗАЦИЯ объединяет небольшие файлы в более крупные.

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

Секционирование озера данных

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

При секционирования озера данных убедитесь, что настроена настройка:

  • Не компрометация безопасности
  • Имеет четкую изоляцию и соответствует модели авторизации данных
  • Хорошо подходит для процесса приема данных
  • Имеет четко определенный путь для оптимального доступа к данным
  • Поддерживает задачи управления и обслуживания

Общие рекомендации

Общие рекомендации по проектированию секционирования данных:

  • Сосредоточьтесь на начале вашего влияния на безопасность и создайте секции данных вместе с авторизацией.
  • Возможно, вы хотите разрешить избыточность данных в обмен на безопасность. Определите соглашение об именовании и придерживайтесь его.
  • Вы можете вложить несколько папок, но всегда поддерживать их согласованность.
  • Включите элемент time в структуры папок и имена файлов.
  • Не запускайте структуру папок с разделами даты. Даты лучше размещать на нижнем уровне папки.
  • Не сочетайте смешанные форматы файлов или разные продукты данных в одной структуре папок.

Совет

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

Дополнительные сведения о зонах озера данных см. в разделе "Зоны озера данных" и "Контейнеры"

Поддержка соответствия требованиям

Delta Lake добавляет уровень транзакций для предоставления структурированного управления данными на вершине озера данных. Это дополнение может значительно упростить и ускорить поиск и удаление персональных данных (также известных как "персональные данные") по запросу потребителя. Уровень транзакций поддерживает такие операции, как DELETE, UPDATE и MERGE. Дополнительные сведения см. в рекомендациях : соответствие GDPR с помощью Delta Lake.

Итоги

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

Следующие шаги