【问题标题】:An error occurred while calling o67.load: java.lang.NoClassDefFoundError: org/apache/hadoop/fs/staging/StagingDirectoryCapable调用 o67.load 时出错:java.lang.NoClassDefFoundError: org/apache/hadoop/fs/staging/StagingDirectoryCapable
【发布时间】:2020-08-21 03:25:56
【问题描述】:

场景如下:

我正在尝试通过 spark 读取 EMR 来计算 s3 位置中文件的记录数。

这是我遇到的错误:

调用 o67.load 时:java.lang.NoClassDefFoundError: org/apache/hadoop/fs/staging/StagingDirectoryCapable。

该错误是间歇性的,有时会突然出现,并且时不时地运行良好。

使用的 Emr 版本 - 5.29.0

【问题讨论】:

    标签: apache-spark hadoop amazon-s3 airflow amazon-emr


    【解决方案1】:

    org/apache/hadoop/fs/staging/StagingDirectoryCapable.

    那必须是 EMR 独有的类/接口;它不在 ASF 代码库中。可能有类路径问题

    【讨论】:

    • 感谢 Steve 的回复,您能否分享一个链接,让我可以通过更详细的方法解决此问题,以及如何确定导致此问题的类路径。
    • 您需要向 AWS EMR 团队提出支持问题。他们的来源,他们的功课
    • 是的,这是一个添加到 Hadoop 中的特定于 EMR 的类。你覆盖 spark.executor.extraClassPath 吗?或者,如果您使用的是 uber 应用程序 jar,它是否包含任何 Hadoop 类?
    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    相关资源
    最近更新 更多