AWS GLUE NOCLASSDEFFOUNDERROR在Job.init()上

发布于 2025-01-22 03:47:55 字数 1384 浏览 4 评论 0原文

尝试使用GLUE ETL库在本地调试AWS胶水脚本。 我已经安装了AWS-Glue-libs和Spark-3.1.1-AMZN-0-BIN-3.2.1-AMZN-3.TGZ。

当我运行job.init()时,我会得到以下错误跟踪:

py4j.protocol.py4jjavaerror:致电z:com.amazonaws.services.glue.util.util.job.init时发生了错误。 :java.lang.noclassdeffounderror:com/typesafe/config/configmergable 在com.amazonaws.services.glue.util.job $ .init(Job.Scala:93) 在com.amazonaws.services.glue.util.job.init(job.scala) 在sun.reflect.nativemethodaccessorimpl.invoke0(天然方法) 在sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) 在sun.reflect.delegatingmethodaccessorimpl.invoke(授权methodaccessorimpl.java:43) 在java.lang.reflect.method.invoke(method.java:498) 在py4j.reflection.methodinvoker.invoke(MethodInvoker.java:244) 在py4j.reflection.reflectionengine.invoke(reflectionengine.java:357) 在py4j.gateway.invoke(Gateway.java:282) 在py4j.commands.abstractcommand.invokemethod(AbstractCommand.java:132) 在py4j.commands.callcommand.execute(callcommand.java:79) 在py4j.gatewayconnection.run(gatewayConnection.java:238) 在java.lang.thread.run(thread.java:748) 引起:java.lang.classnotfoundexception:com.typesafe.config.configmergerable 在java.net.urlclassloader.findclass(urlclassloader.java:382) 在java.lang.classloader.loadclass(classloader.java:424) 在sun.misc.launcher $ appclassloader.loadclass(launcher.java:349) 在java.lang.classloader.loadclass(classloader.java:357) ...还有13

Trying to debug AWS Glue scripts locally using Glue ETL library.
I have installed aws-glue-libs and spark-3.1.1-amzn-0-bin-3.2.1-amzn-3.tgz.

When I run job.init(), I get the following error trace:

py4j.protocol.Py4JJavaError: An error occurred while calling z:com.amazonaws.services.glue.util.Job.init.
: java.lang.NoClassDefFoundError: com/typesafe/config/ConfigMergeable
at com.amazonaws.services.glue.util.Job$.init(Job.scala:93)
at com.amazonaws.services.glue.util.Job.init(Job.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
at py4j.Gateway.invoke(Gateway.java:282)
at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
at py4j.commands.CallCommand.execute(CallCommand.java:79)
at py4j.GatewayConnection.run(GatewayConnection.java:238)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: com.typesafe.config.ConfigMergeable
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 13 more

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蝶舞 2025-01-29 03:47:55

此错误未解决。但是我找到了解决方法。我没有使用Pycharm运行我的脚本,而是使用GluesParkSubmit Bash命令运行它们。现在,它不会在job.init()上丢弃错误。仍在尝试弄清楚如何从本地计算机运行胶水脚本时如何访问数据目录。

This error wasn't resolved per say. But i found a workaround. Instead of running my scripts from pycharm, i run them using gluesparksubmit bash command. Now it doesn't throw error at job.init(). Still trying to figure out how to get access to data catalog when running glue scripts from local machine.

℉絮湮 2025-01-29 03:47:55

如果是ConfigMergable,请检查是否正确JAR file- config-config -1.3.3.3.3.jar - 存在于/opt/火花/罐子 dir。

整个想法是,/opt/opt/spark/jars./ aws-glue-libs/jarsv1应该匹配。

If it was for ConfigMergeable, check if proper jar file - config-1.3.3.jar - exists in your /opt/spark/jars dir.

Whole idea is that jars in /opt/spark/jars and ./aws-glue-libs/jarsv1 should match.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文