PySparkで、複雑なネストされたJSON構造(StructType)を平坦化(Flatten)するために有用なアプローチはどれか。

構造体(Struct)のフィールドを列として展開するには `col.*` が有効であり、階層が深い場合はスキーマを走査して動的にSelect文を生成する処理が必要になる。