inline_outer(column)
Описание
Функция inline_outer() развертывает массив структур в отдельные строки. Каждая структура в массиве становится отдельной строкой с полями структуры в качестве столбцов. В отличие от inline(), сохраняет строки с NULL или пустыми массивами.
Параметры
column: Column - массив структур для развертывания
Возвращаемое значение
StructType - развернутые поля структуры
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import inline_outer
from pyspark.sql.types import StructType, StructField, StringType, IntegerType
# Создаем SparkSession
spark = SparkSession.builder.appName("inline_outer_example").getOrCreate()
# Определяем схему для структуры
schema = StructType([
    StructField("name", StringType()),
    StructField("age", IntegerType())
])
# Создаем DataFrame с массивом структур
data = [
    (1, [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}]),
    (2, [{"name": "Charlie", "age": 35}]),
    (3, []),
    (4, None)
]
df = spark.createDataFrame(data, ["id", "people"])
# Развертываем массив структур с сохранением пустых значений
result = df.select(
    "id",
    inline_outer("people")
).show()
# Результат:
# +---+-------+----+
# | id|   name| age|
# +---+-------+----+
# |  1|  Alice|  25|
# |  1|    Bob|  30|
# |  2|Charlie|  35|
# |  3|   null|null|
# |  4|   null|null|
# +---+-------+----+
 Примечания
- Сохраняет строки с NULL или пустыми массивами
 - Для пропуска строк с пустыми массивами используйте 
inline() - Для развертывания простых массивов используйте 
explode_outer() - Для развертывания Map-столбцов используйте 
explode_outer()