In Databricks, unit-testing a Spark transformation often means verifying that an output collection of rows matches the expected result even when row order is not guaranteed. Implement a Python function that compares two datasets and reports whether they are equivalent after applying deterministic normalization rules.
Write a function assert_spark_rows_equal(actual_rows, expected_rows, key_columns).
actual_rows: list of dictionaries representing transformed output rowsexpected_rows: list of dictionaries representing expected rowskey_columns: list of column names used to sort rows deterministically before comparisonThe function should return True if:
key_columnsNormalization rules:
Nonedef assert_spark_rows_equal(actual_rows, expected_rows, key_columns):