私はdatabricksブログlink を読んでおり、組み込み関数to_json
に問題が見つかりました。コードで このチュートリアル内吹いた、それはエラーを返します:to_jsonがsparkでselectExprと連携していません
org.apache.spark.sql.AnalysisException: Undefined function: 'to_json'. This function is neither a registered temporary function nor a permanent function registered in the database 'default'.
んこのチュートリアルでは、この使い方が間違っていることを意味しますか? selectExpr
にはudfを使用できませんでした。このto_json
関数をデフォルトのデータベースに登録するような何かをすることができますか?
val deviceAlertQuery = notifydevicesDS
.selectExpr("CAST(dcId AS STRING) AS key", "to_json(struct(*)) AS value")
.writeStream
.format("kafka")
.option("kafka.bootstrap.servers", "host1:port1,host2:port2")
.option("toipic", "device_alerts")
.start()
私は試みましたが、うまくいきませんでした。何か案が? –
あなたはすべての列を1つの列としてjsonに変更しようとしていますか? –
答えを更新しました: –