Pyspark взорвал вложенный json — пустые строки удалены

#json #pyspark

Вопрос:

Я успешно расплющил кучу json со следующей схемой введите описание изображения здесь

используя следующий код:

 feed_df = feed.select( "animal_uuid","timestamp", "total_fed", "total_visits",
explode("feed_part_totals").alias("feed_part_totalsExplode")
).select("animal_uuid","timestamp", "total_fed", "total_visits", "feed_part_totalsExplode.*")
 

Я заметил, что в моем сплющенном df меньше строк, чем во вложенном df. Похоже, что строки, не имеющие значения во вложенном столбце feed_part_totals, полностью удаляются.

Как я могу это предотвратить?

Ответ №1:

РЕШЕНИЕ: измените explode на explode_outer, и пустые строки будут представлены в виде нулевых значений.