🏂Профилирование данных с Apache Spark: 3 простых способа
Профилирование данных (Data Profiling) – это процесс их исследования для выяснения статистических характеристик (характер распределения величин, наличие выбросов, параметры выборки), а также предварительная оценка качества: поиск пропущенных значений, нарушения целостности и бизнес-логики связей между значениями полей и пр. Для этой обязательной DS-работы с данными в Apache Spark пригодятся следующие инструменты:
1. Deequ от Amazon Web Services, интегрированный с AWS-решениями. Сначала необходимо определить объект «AnalysisRunner», чтобы добавить ряд предопределенных анализаторов, таких как соответствие, размер, полнота, уникальность и пр. Deequ не только обеспечивает проверку качества данных с фиксированными порогами, но и позволяет находить аномалии, а также поддерживает работу с изменяющимися метриками.
2. Great Expectation – фреймворк, который интегрируется с DAG-подобными приложениями типа Spark, Airflow и пр. Благодаря наличию API Python, CLI и удобному пользовательскому интерфейсу, его можно активно использовать в даже в крупных проектах, включая распределенные среды, такие как Redshift и Databrics. Great Expectation поддерживает не только Apache Spark, но и SQLAlchemy с Pandas и даже BigQuery.
3. Наконец, встроенные функции API Apache Spark. Можно просто обернуть список преобразований в настраиваемую функцию и сделать собственное решение для профилирования данных. Например, создать функцию-шаблон поиска минимальных, максимальных и пропущенных значений в датасете.
Post #189
1.22K