Чтобы продемонстрировать качество данных с помощью AWS Deequ и PySpark, я приведу пример, включающий различные методы. Вот некоторые распространенные проверки качества данных, которые вы можете выполнить с помощью Deequ:
-
Проверка пропущенных значений:
from pyspark.sql import SparkSession from awsglue.context import GlueContext from awsglue.job import Job from pydeequ.checks import Check, CheckLevel from pydeequ.verification import VerificationSuite # Create a Spark session spark = SparkSession.builder.getOrCreate() # Load your data into a DataFrame data = spark.read.csv("path/to/data.csv", header=True, inferSchema=True) # Define the check for missing values check = Check(spark, CheckLevel.Warning, "Data quality check") check.hasSize(lambda size: size > 0) \ .isComplete("column_name") \ .run(data) -
Проверка уникальности:
# Define the check for uniqueness check = Check(spark, CheckLevel.Warning, "Data quality check") check.hasSize(lambda size: size > 0) \ .isUnique("column_name") \ .run(data) -
Проверка распределения значений:
# Define the check for value distributions check = Check(spark, CheckLevel.Warning, "Data quality check") check.hasSize(lambda size: size > 0) \ .isNonNegative("column_name") \ .isPositive("column_name") \ .isMonotonicallyIncreasing("column_name") \ .run(data) -
Проверка типов данных:
# Define the check for data types check = Check(spark, CheckLevel.Warning, "Data quality check") check.hasSize(lambda size: size > 0) \ .isStringColumn("column_name") \ .isNumeric("column_name") \ .run(data)
Это всего лишь несколько примеров проверок качества данных, которые можно выполнить с помощью AWS Deequ и PySpark. Вы можете комбинировать эти проверки или определять собственные проверки в соответствии с вашими конкретными требованиями.