[AWS Glue]:org.apache.thrift.TApplicationException:内部错误处理 createInterpreter

Som*_*kar 6 apache-zeppelin aws-glue

我正在尝试使用 zeppelin-0.8.0 连接到 AWS Glue 开发端点,并且在执行以下单元格时发生错误。并且没有有用的信息来了解可能是什么问题。任何线索表示赞赏

172318_1906434757 is finished, status: ERROR, exception: java.lang.RuntimeException: org.apache.thrift.TApplicationException: Internal error processing createInterpreter, result: %text org.apache.thrift.TApplicationException: Internal error processing createInterpreter
        at org.apache.thrift.TApplicationException.read(TApplicationException.java:111)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:71)
        at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Client.recv_createInterpreter(RemoteInterpreterService.java:209)
        at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Client.createInterpreter(RemoteInterpreterService.java:192)
        at org.apache.zeppelin.interpreter.remote.RemoteInterpreter$2.call(RemoteInterpreter.java:169)
        at org.apache.zeppelin.interpreter.remote.RemoteInterpreter$2.call(RemoteInterpreter.java:165)
        at org.apache.zeppelin.interpreter.remote.RemoteInterpreterProcess.callRemoteFunction(RemoteInterpreterProcess.java:135)
        at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.internal_create(RemoteInterpreter.java:165)
        at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.open(RemoteInterpreter.java:132)
        at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getFormType(RemoteInterpreter.java:299)
        at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:407)
        at org.apache.zeppelin.scheduler.Job.run(Job.java:188)
        at org.apache.zeppelin.scheduler.RemoteScheduler$JobRunner.run(RemoteScheduler.java:307)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Run Code Online (Sandbox Code Playgroud)

更新:所以在下面的答案中看起来 0.8.0 还不能与 Glue 一起使用..我在运行 0.7.x 时遇到了问题,javax.ws.rx 包在使用 Java 8 时有一堆 MethodNotFoundException(也没有帮助更新替代 Java 7)。但是当在 JDK 7 docker 容器中运行时,它没有问题并且能够连接到我的开发端点。非常感谢如果有人能澄清它的根本原因

Yuv*_*uva 2

您能否提供更多信息,例如 zeppin 实例位置。它是在您的台式机/笔记本电脑上运行还是作为 AWS 笔记本服务器运行?您是否还尝试连接到 zeppelin 0.7.3 版本,如此 AWS 论坛链接中所述:

https://forums.aws.amazon.com/thread.jspa?threadID=285128

根据 2018 年 7 月的上述链接,认为 AWS Glue 尚不支持 Zeppelin 0.8 版本。我假设所有其他配置、环境设置都根据需要完成。如果您可以提供更多信息,可以提供更多帮助。

更新: 无论如何,请参阅此处在 Windows 上设置 zeppelin,以获取有关设置本地开发环境和 zeppelin 笔记本的任何帮助。

设置 zeppelin 笔记本后,建立 SSH 连接(使用 AWS Glue DevEndpoint URL),以便您可以访问数据目录/爬网程序等,以及数据所在的 S3 存储桶。然后,您可以在 zeppelin 笔记本中创建 python 脚本,并从 zeppelin 运行。

您可以使用 Glue 提供的开发实例,但可能会产生额外费用(EC2 实例费用)。

环境设置(根据评论更新):

JAVA_HOME=E:\Java7\jre7
Path=E:\Python27;E:\Python27\Lib;E:\Python27\Scripts;
PYTHONPATH=E:\spark-2.1.0-bin-hadoop2.7\python;E:\spark-2.1.0-bin-hadoop2.7\python\lib\py4j-0.10.4-src.zip;E:\spark-2.1.0-bin-hadoop2.7\python\lib\pys
park.zip
SPARK_HOME=E:\spark-2.1.0-bin-hadoop2.7
Run Code Online (Sandbox Code Playgroud)

相应地更改驱动器名称/文件夹。如果需要任何帮助,请告诉我。