YES.
Использовать многострочное значение true
from pyspark.sql.functions import explode, col
val df = spark.read.option("multiline", "true").json("multi.json")
Вы получаете ниже вывода.
+--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------+----------+
|_id |class_id|scores |student_id|
+--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------+----------+
|[50b59cd75bed76f46522c34e]|2 |[[57.92947112575566, exam], [21.24542588206755, quiz], [68.1956781058743, homework], [67.95019716560351, homework], [18.81037253352722, homework]]|0 |
+--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------+----------+
Добавьте эти строки, чтобы получить
val df2= df.withColumn("scores",explode(col("scores")))
.select(col("_id.*"), col("class_id"),col("scores.*"),col("student_id"))
+------------------------+--------+-----------------+--------+----------+
|$oid |class_id|score |type |student_id|
+------------------------+--------+-----------------+--------+----------+
|50b59cd75bed76f46522c34e|2 |57.92947112575566|exam |0 |
|50b59cd75bed76f46522c34e|2 |21.24542588206755|quiz |0 |
|50b59cd75bed76f46522c34e|2 |68.1956781058743 |homework|0 |
|50b59cd75bed76f46522c34e|2 |67.95019716560351|homework|0 |
|50b59cd75bed76f46522c34e|2 |18.81037253352722|homework|0 |
+------------------------+--------+-----------------+--------+----------+
Обратите внимание, что мы используем функции "col" и "explode" из spark, поэтому вам необходимо выполнить следующий импорт, чтобы эти функции работали.
из pyspark.sql.functions import explode, столбец
Подробнее о том, как анализировать файл JSON с помощью многострочного текста, можно узнать ниже.
https://docs.databricks.com/spark/latest/data-sources/read-json.html
Спасибо