我正在嘗試使用zeppelin繪製實時圖形。我對每分鐘的推文進行情緒分析。我可以靜態查詢並繪製圖表。但我希望這是動態完成的。我是zeppelin的新手,對angularJS知之甚少。什麼應該是解決這個問題的正確方法?如何在齊柏林飛艇上繪製實時圖形?
val final_score=uni_join.map{case((year,month,day,hour,minutes),(tweet_count,sentiment))=>(year, month, day, hour, minutes(sentiment/tweet_count).ceil)}
final_score.saveToCassandra("twitter", "score",writeConf = WriteConf(ttl = TTLOption.constant(1000)))
final_score.foreachRDD(score => {
val rowRDD =score.map{case(year,month,day,hour,minutes,sentiment) =>(year,month,day,hour,minutes,sentiment) }
val tempDF = sqlContext.createDataFrame(rowRDD)
z.angularBindGlobal("stream", parsed) //to bind parsed to stream.
tempDF.registerTempTable("realTimeTable")
})
對上表做一個查詢,我能夠得到圖。但我想每分鐘動態更新一次圖表,以便與情緒分數保持同步。 感謝之前。 [更新]爲飛艇筆記本角部分如下:
%angular
<div id="graph" style="height: 100%; width: 100%">
<canvas id="myChart" width="400" height="400"></canvas>
<div id="legendDiv"></div>
</div>
<script>
function initMap() {
var colorList = ["#fde577", "#ff6c40", "#c72a40", "#520833", "#a88399"]
var el = angular.element($('#stream'));
console.log("El is "+el) //returns el as object
angular.element(el).ready(function() {
console.log('Hello')
window.locationWatcher =el.$scope.$watch('stream', function(new, old){
console.log('changed');}, true)})
</script>
但運行此代碼保持返回下面的錯誤。
vendor.js:29 jQuery.Deferred exception: Cannot read property '$watch' of undefined TypeError: Cannot read property '$watch' of undefined
,我使用的火花版本是1.6 而飛艇是0.6
非常感謝您的回答。 但我使用的spark版本是1.6,zeppelin是0.6.0。 你的回答對這些版本是否適用?如果不是,那麼應該採取什麼方法。 – Agnirudra
對於Spark 1.6,它需要使用正常的DataFrame和一些代碼來監視觸發劇情的變化 –
我已經將問題的更新添加到了角色段落。但它一直返回以下錯誤 'vendor.js:29 jQuery.Deferred異常:無法讀取未定義的屬性'$ watch'TypeError:無法讀取未定義的'$ watch'屬性' – Agnirudra