Mil*_*cic 5 emr presto apache-zeppelin
是否可以在AWS EMR 4.3上将Presto解释器添加到Zeppelin,如果可以,有人可以发布说明吗?我在EMR上运行了Presto-Sandbox和Zeppelin-Sandbox。
没有针对齐柏林飞艇的官方Presto解释器,并且Jira票证的结论是没有必要,因为您只需使用jdbc解释器
https://issues.apache.org/jira/browse/ZEPPELIN-27
我正在使用presto和zeppelin运行更高版本的EMR,并且默认的解释器集不包括jdbc,但是可以使用ssh将其安装到主节点并运行
sudo /usr/lib/zeppelin/bin/install-interpreter.sh --name jdbc
更好的是将其用作引导脚本。
然后,您可以在Zeppelin中添加新的口译员。
给它一个类似于presto的名称,这意味着您需要在zeppelin的段落的第一行中将%presto用作指令,或将其设置为默认解释器。
这里需要的设置是:
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,您还将需要一个Dependency。在Zeppelin中有多种添加依赖项的方法,但是一种简单的方法是通过groupid:artifactid:version以下解释器设置中的maven 引用Dependencies
例如在 artifact
com.facebook.presto:presto-jdbc:0.170
请注意,版本0.170对应于EMR当前部署的Presto版本,将来会更改。您可以在AWS EMR设置中查看将哪个版本部署到您的集群。
您还可以通过将Zeppelin附加到default.url设置,使Zeppelin直接连接到目录或目录和架构,根据JDBC驱动程序的Presto文档 https://prestodb.io/docs/current/installation/jdbc .html
例如,将Presto与配置单元metastore和名为datakeep的数据库一起使用
jdbc:presto://<YOUR EMR CLUSTER MASTER DNS>:8889/hive
要么
jdbc:presto://<YOUR EMR CLUSTER MASTER DNS>:8889/hive/datakeep
更新 2018年2月
EMR 5.11.1使用的是presto 0.187,Zeppelin解释器向Presto驱动程序提供属性的方式存在问题,导致出现类似以下错误 Unrecognized connection property 'url'
当前,唯一的解决方案似乎是在工件中使用旧版本,或手动上传修补的presto驱动程序,请参见https://github.com/prestodb/presto/issues/9254和https://issues.apache.org/jira /浏览/ ZEPPELIN-2891
在我的情况下,使用对驱动程序的旧引用(显然必须早于0.180),例如com.facebook.presto:presto-jdbc:0.179,它不起作用,并且齐柏林飞艇给了我一个关于无法下载依赖项的错误。有趣的错误,但可能与Zeppelin的本地Maven存储库有关,不包含此内容,不确定我是否已放弃。
我可以确认对驱动程序进行修补。
git checkout 0.187mvn clean packagejdbc:presto://<YOUR EMR CLUSTER MASTER DNS>:8889?user=hadoop启动并运行。同时,可能值得考虑使用Athena作为Presto的替代产品,因为它具有无服务器功能,并且实际上只是Presto的一个分支。它确实仅限于外部配置单元表,并且必须在Athena自己的目录中创建(或现在在AWS Glue目录中创建,也仅限于外部表)。
Chris Kang 有一篇关于在 Spark-Shell 中执行此操作的好文章,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 上运行。我希望它能为您指明正确的方向。
| 归档时间: |
|
| 查看次数: |
4147 次 |
| 最近记录: |