是否可以在AWS EMR 4.3上將Presto解釋器添加到Zeppelin,如果有,是否有人可以發佈說明?我在EMR上運行Presto-Sandbox和Zeppelin-Sandbox。Presto在電子病歷上的Zeppelin解釋器
回答
Chris Kang在火花外殼上做了一個很好的貼子,http://theckang.com/2016/spark-with-presto/。我沒有看到你在齊柏林飛艇上無法做到這一點。另一個有用的帖子是確保你在EMR中有正確的Java版本,http://queirozf.com/entries/update-java-to-jdk-8-on-amazon-elastic-mapreduce。目前的Presto版本只能在Java 8上運行,我希望它能讓你朝着正確的方向發展。
有沒有官方的Presto解釋爲飛艇,並提出了吉拉票的結論是,這是沒有必要的,因爲你可以只使用JDBC解釋
https://issues.apache.org/jira/browse/ZEPPELIN-27
我運行以後EMR與急&飛艇,和口譯的默認設置不包括JDBC,但它可以使用SSH到主節點和運行
sudo /usr/lib/zeppelin/bin/install-interpreter.sh --name jdbc
更好的是使用它作爲引導腳本。
然後你可以在Zeppelin中添加一個新的解釋器。
- 點擊登錄名下拉在齊柏林右上方
- 點擊解釋
- 點擊+創建
給它一個名稱,如急,這意味着你需要使用%急作爲zeppelin中段落第一行的指示,或將其設置爲默認解釋器。
你需要在這裏的設置是:
default.driver
com.facebook.presto.jdbc.PrestoDriver
default.url
jdbc:presto://<YOUR EMR CLUSTER MASTER DNS>:8889
default.user
hadoop
注意有沒有提供,因爲EMR環境應該使用IAM角色密碼,PPK密鑰等進行認證。
您還需要一個用於presto JDBC驅動程序jar的依賴項。有幾種方法可以在Zeppelin中添加依賴項,但一種簡單的方法是通過解碼器設置中的參考文件Dependencies
下artifact
com.facebook.presto:presto-jdbc:0.170
注意版本0.170對應的Presto的版本目前已經部署在EMR,這將改變未來。您可以在AWS EMR設置中看到正在將哪個版本部署到羣集中。
您還可以得到飛艇直接連接到一個目錄,或目錄&架構通過將附加到default.url JDBC驅動程序 https://prestodb.io/docs/current/installation/jdbc.html
例如設置 按照通過Presto文檔作爲一個例子,使用的Presto與具有數據庫的蜂房metastore稱爲datakeep
jdbc:presto://<YOUR EMR CLUSTER MASTER DNS>:8889/hive
OR
jdbc:presto://<YOUR EMR CLUSTER MASTER DNS>:8889/hive/datakeep
UPDATE 2018年2月
EMR 5.11.1是使用Presto 0.187,並且Zeppelin解釋器向Presto Driver提供屬性的方式存在問題,導致類似的錯誤
目前唯一的解決辦法出現在神器被使用的舊版本,或者手動上傳補丁似的司機 使用舊參照司機見https://github.com/prestodb/presto/issues/9254和https://issues.apache.org/jira/browse/ZEPPELIN-2891
在我的例子(顯然必須比0.180更早)例如com.facebook.presto:presto-jdbc:0.179
沒有工作,齊柏林給了我一個關於無法下載依賴關係的錯誤。有趣的錯誤,但可能與Zeppelin的本地Maven回購沒有包含這一點,不知道我放棄了。
我可以確認補丁驅動程序工作。
- (假設你已經安裝了Java &行家)
- 克隆的急板GitHub庫
- 結帳釋放標籤例如
git checkout 0.187
- 進行編輯按這個補丁https://groups.google.com/group/presto-users/attach/1231343dbdd09/presto-jdbc.diff
- 構建使用
mvn clean package
- 複製的jar到飛艇機某處飛艇用戶罐子都有閱讀權限。
- 在解釋器中,在Dependencies-Artifacts部分下,而不是Maven引用使用該jar文件的絕對路徑。
- 將用戶傳遞給presto驅動程序似乎存在問題,因此只需將其作爲url參數添加到「default.url」jdbc連接字符串中即可。
jdbc:presto://<YOUR EMR CLUSTER MASTER DNS>:8889?user=hadoop
啓動並運行。同時,可能值得考慮的是雅典娜作爲Presto的替代品,因爲它無服務器&實際上只是Presto的一個分支。它僅限於外部配置單元表,並且它們必須在Athena自己的目錄中創建(或者現在在AWS Glue目錄中,也限制爲外部表)。
- 1. 電子病歷Oozie示例
- 2. 我試圖基於在電子病歷
- 3. 電子病歷互通/客戶端
- 4. 無法導入電子病歷mrjob
- 5. 重新使用Zeppelin解釋器設置
- 6. Apache Zeppelin:在Windows上配置python解釋器
- 7. 在zeppelin的jdbc解釋器中找不到解釋器配置單元
- 8. 在啓動集羣時在EMR上配置Zeppelin的Spark解釋器
- 9. 開發電子病歷系統的提示
- 10. Zeppelin的Hive解釋器拋出空指針異常
- 11. 無法訪問Zeppelin中的解釋器設置
- 12. q解釋器不記得在Ubuntu上的歷史記錄16.04
- 13. AWS'電子病歷與EC2定價混淆
- 14. Apache Zeppelin Spark解釋器變量作用域問題
- 15. 暴露Zeppelin解釋器UI更多選項
- 16. zeppelin配置單元解釋器拋出ClassNotFoundException
- 17. Zeppelin R解釋器無法做任何事情
- 18. 任何人都試圖將R解釋器添加到Apache Zeppelin上?
- 19. presto cutom連接器中的where子句
- 20. 在Linux上prolog解釋器?
- 21. 瞭解Presto軟件
- 22. 如何在Zeppelin中更改Python解釋器的python安裝位置?
- 23. 有毛病的電子郵件簽名
- 24. iPhone上的電子郵件不能解釋HTML
- 25. Android上的Python解釋器
- 26. 電子郵件被解釋爲兩個電子郵件
- 27. Zeppelin在使用REST api進行身份驗證後重新啓動解釋器
- 28. Mac上的Python解釋器在哪裏?
- 29. 電子表格:: WriteExcel有毛病write_formula
- 30. 的Javascript Learnstreet電子郵件解釋另一種解決方案