我们正在使用 Spark 结构化流2.4.1版本来处理从Kafka到Cassandra的事件。该事件是嵌套的JSON,我们需要将数据展平并加载到Cassandra表中。
我试图在数据帧上使用数据透视,但是它抛出以下错误消息。有人可以帮我解决这个问题。
{
"event_name": "some event",
"groups": [
{
"data_group_name": "personname",
"fields": [
{
"col_name": "firstname",
"value": "John"
},
{
"col_name": "lastname",
"value": "williams"
}
]
},
{
"data_group_name": "contact",
"fields": [
{
"col_name": "mobile",
"value": "1234567890"
},
{
"col_name": "home",
"value": "0987654321"
}
]
}
]
}
df.pivot($"col_name").agg(first($"value"),null)
预期结果:
----------------
event_name firstname lastname mobile home
----------------------------------------------------------------------------
some event John williams 1234567890 987654321
错误消息-
具有流源的查询必须使用 writeStream.start();;卡夫卡 在org.apache.spark.sql.catalyst.analysis.UnsupportedOperationChecker $ .org $ apache $ spark $ sql $ catalyst $ analysis $ UnsupportedOperationChecker $$ throwError(UnsupportedOperationChecker.scala:389)