問題:火花結構化流媒體應用
添加偵聽器jar文件之後集群中的init腳本,偵聽器工作(從我所看到的在stdout / log4j日誌)
但是當我嚐試了
“application / json內容類型:http://host api / v1 /應用程序/應用id /流/統計數據終點
這是顯示沒有流偵聽器附加到火花應用程序
細節:
我們已經創建了一個jar文件包含下麵的類文件下麵的代碼,使它可用於集群使用shell腳本
Shell腳本:
# ! / bin / bash
cp / dbfs / FileStore /罐/ my_jar。jar /磚/ jar
mySparkListener類:
進口org.apache.spark.sql.streaming.StreamingQueryListener
進口org.apache.spark.sql.streaming.StreamingQueryListener._
進口org.apache.spark.sql.streaming.StreamingQueryProgress
進口org.apache.log4j.Logger
進口org.joda.time.DateTime
進口scala.collection.JavaConverters._
類mySparkListener延伸StreamingQueryListener {
覆蓋def onQueryStarted (queryStarted: QueryStartedEvent):單位= {
println(“查詢開始:”+queryStarted.id)
}
覆蓋def onQueryTerminated (queryTerminated: QueryTerminatedEvent):單位= {
println(“查詢終止:”+queryTerminated.id)
}
覆蓋def onQueryProgress (queryProgress: QueryProgressEvent):單位= {
println(“查詢取得了進展:”+ queryProgress.progress)
}
}
= new mySparkListener val偵聽器()
spark.streams.addListener(聽眾)
注:我已經配置後添加到集群中