gpt4 book ai didi

hadoop - 级联拼花抛出ClassNotFoundException

转载 作者:行者123 更新时间:2023-12-02 21:51:06 26 4
gpt4 key购买 nike

尝试运行此代码

Main.java:

public static void main(String[] args) {
...
..
Properties properties = new Properties();
AppProps.setApplicationJarClass(properties, Main.class);
HadoopFlowConnector flowConnector = new HadoopFlowConnector(properties);

Scheme sourceScheme = new queries.ParquetTupleScheme(new Fields("a", "b", "c"));
Tap inTap = new Hfs(sourceScheme, inPath);
...
...
...
}

我得到这个错误:
java.lang.NoClassDefFoundError: cascading/scheme/Scheme

这是我到目前为止尝试过的
  • 当我替换它时:
    Scheme sourceScheme = new ParquetTupleScheme(new Fields("a", "b",
    "c"));

    有了这个:
    Scheme sourceScheme = null;
    错误消失
  • 当我创建扩展像Scheme<JobConf, RecordReader, OutputCollector, Object[], Object[]>ParquetTupleScheme的类时
    错误消失
  • 当我尝试检查这是否是特定的 Parquet 级联错误时
    Object a = new PigCombiner()
    错误消失

  • 我正在使用 :
  • 级联2.5.1
  • Parquet 级联1.3.0
  • hadoop-core 1.2.1

  • 我做错了什么?

    最佳答案

    我之前遇到过同样的问题。据我所知,此问题源于类路径中缺少级联Scheme.class,从而在运行时抛出此异常。

    为了解决这个问题,您应该使用'export HADOOP_CLASSPATH = / jar_directory / cascading-core-2.5.1.jar'将cascading-core-2.5.1.jar包含到hadoop类路径中。您可以使用'hadoop classpath'来检查jar是否正确包含。

    这是我在stackoverflow中的首次亮相。 :)

    关于hadoop - 级联拼花抛出ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20871038/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com