Выполнение больших ожиданий для одних и тех же имен столбцов разных массивов

#python #pyspark #great-expectations

#питон #пыспарк #большие надежды

Вопрос:

Предположим, у нас был фрейм данных PySpark со следующей схемой:

 root  |-- struct1: struct (nullable = true)  | |-- struct2: struct (nullable = true)  | | |-- array1: array (nullable = true)  | | | |-- **struct3: struct (containsNull = true)  | | | | |-- name1: string (nullable = true)**  |-- name2: string (nullable = true)  |  |-- array2: array (nullable = true)  |-- **struct4: struct (containsNull = true)  | |-- name1: string (nullable = true)**  |-- name3: string (nullable = true)  

Обратите внимание, что struct3 и struct4 имеют общее имя столбца name1 (см. ** ).

Вопрос: Как мы запускаем ожидание по name1 столбцу из struct3 ? Будут ли большие ожидания сбиты с толку относительно того, какую структуру использовать для выполнения ожиданий? В частности, будут ли большие ожидания сбиты с толку следующей командой batch.expect_column_to_exist('name1') ?

Даже если бы мы выровняли данные и имели столбцы типа struct3.name1 и struct4.name1 , это все равно сбило бы с толку большие ожидания?