次のスキーマを持つ 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
from の列で期待値を実行するにはどうすればよい struct3
ですか? 大きな期待は、期待を実行するためにどの構造体を使用するかについて混乱するでしょうか? 特に、次のコマンドで大きな期待が混乱するbatch.expect_column_to_exist('name1')
でしょうか?
データを平坦化し、 や のような列を作成したとしても struct3.name1
、 struct4.name1
これは大きな期待を混乱させるでしょうか?