У меня есть несколько JSON файлов со структурой, подобной этим
{
"fields": [
{
"a": 1,
"b": "Mike",
"c": "Jordan"
},
{
"a": 2,
"b": "Filip",
"c": "White"
}
]
}
{
"fields":{
"a": 2,
"b": "Mark",
"c": "Brown"
}
}
, которые я загружаю в тот же DataFrame
df = spark.read.option("multiLine", True).json("/path/to/jsons")
Мне нужно извлекать только значение для "b" , когда "a" = 2 (в данном случае Марк и Филип). У меня 2 проблемы:
- «поля» содержат 2 разных типа (Struct и Array (Struct)) в одном столбце
- как извлечь только поле «b»
Я использую PySpark.
Заранее спасибо.
df.withColumn("b values", col("fields") ... ??)