Я пишу приложение Spark в Scala, используя Spark Structured Streaming, которое получает некоторые данные, отформатированные в стиле JSON от Кафки.Это приложение может получать как один, так и несколько объектов JSON, отформатированных таким образом:
[{"key1":"value1","key2":"value2"},{"key1":"value1","key2":"value2"},...,{"key1":"value1","key2":"value2"}]
Я попытался определить тип StructType:
var schema = StructType(
Array(
StructField("key1",DataTypes.StringType),
StructField("key2",DataTypes.StringType)
))
Но это не работает.Фактический код для анализа JSON:
var data = (this.stream).getStreamer().load()
.selectExpr("CAST (value AS STRING) as json")
.select(from_json($"json",schema=schema).as("data"))
Я хотел бы получить объекты JSON в кадре данных, например
+----------+---------+
| key1| key2|
+----------+---------+
| value1| value2|
| value1| value2|
........
| value1| value2|
+----------+---------+
Кто-нибудь может мне помочь, пожалуйста?Спасибо!