您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么進行Zeppelin的原理分析,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Zeppelin在之前的技術探索里介紹過,是一個想法來源于Jupyter的可視化的Spark/Hive/R分析編程界面。這周想著把一些原來代碼中的spark遷到Zeppelin中,主要原因是:
代碼中的spark修改運行麻煩: git push, git pull, 編譯,打包,運行……,希望可以一鍵修改運行spark
spark運行結果可視程度差,希望在網頁上看到表格和圖
希望工程師以外的同事也能運行spark
然而現實是骨感的,本來打算1天做的事情陸陸續續做了4天。現在的Zeppelin還是有太多的小問題,算它識趣,只是v0.6.0,要敢叫V1.0我打死它。
##安裝 我是直接在官網下載的all-in-binary的版本。Zeppelin和spark兼容貌似很有問題,最穩妥的辦法是下載Zeppelin的源代碼,用mvn選擇對應的spark/hadoop版本編譯。
官網上說
Zeppelin will work with any version of Spark and any deployment type without rebuilding Zeppelin in this way. (Zeppelin 0.5.6-incubating release works up to Spark 1.6.1 )
我信了,最后也確實spark都跑起來了,除了我那逝去的青春。
不過現在Spark已經2.0了哦,可以的話還是自己build吧。
##創建Notebook 一個Notebook相當于一個任務吧,可以分成多個Paragraph。每個Paragraph可以使用不同的interpreter,從而使用不同的語法。
我創建了兩個Notebook,一個連接HBase清理數據,一個使用Spark做HBase數據的統計,基本都可以把Java/Scala代碼直接往里面拷。
下面這些問題花了挺多時間:
###· 加載Dependency 有三種方式添加依賴包,這里的做法是靠譜的。
z.load()
的那種方式是不建議。
注意0.5.6以及之前的版本是沒有這個Interpreter依賴包管理的功能的!
###· Spark連接不上,Can't get status 錯誤信息大概是 org.apache.zeppelin.interpreter.InterpreterException: org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused
如果其他的設置都正確的話,很有可能是SPARK_HOME沒有設置 export SPARK_HOME=你的spark安裝地址
一些固定的設置可以寫在conf/zeppelin-env.sh
里去。
###·Jackson問題
具體的報錯應該是
原因是spark依賴的jackson和zeppelin的沖突了,在Zeppelin的lib目錄下吧jackson相關的包刪掉就好。 下面有大神更詳細的解決辦法: Apache Zeppelin & Spark解析Json異常
##最后成果
##同行對比 這篇文章簡單的比較了Zeppelin, Spark-notebook和Jupyter。作者的結論是:
只用Scala不用Spark的話可以用jupyter-scala;
要Spark+Scala并且用花哨的Javascript顯示的話用spark-notebook;
要用AWS EMR或者其他后臺程序的時候選擇Zeppelin。
關于怎么進行Zeppelin的原理分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。