有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

拼花格式的java Mapreduce错误

我正在尝试运行mapreduce作业。我的文件是parquet格式的

我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/thrift/TException
at parquet.format.converter.ParquetMetadateConverter.readParquetMetadata(ParquetMetadateConverter.java:268)
at parquet.hadoop.ParquetFileReader.readFooter(ParquetFileReader.java:271)
at parquet.hadoop.ParquetFileReader.readSummeryFile(ParquetFileReader.java:200)
at parquet.hadoop.ParquetFileReader.readAllFootersInParallelUsingSummeryFiles(ParquetFileReader.java:99)
at parquet.hadoop.ParquetInputFormat.getFooters(ParquetInputFormat.java:354)
at parquet.hadoop.ParquetInputFormat.getFooters(ParquetInputFormat.java:339)
at parquet.hadoop.ParquetInputFormat.getSplits(ParquetInputFormat.java:246)
...

我试图用--libjars my_path/libthrift-0.9.0.jar添加包含TException的jar,但仍然得到相同的错误


共 (1) 个答案

  1. # 1 楼答案

    请尝试将HADOOP_CLASSPATH参数设置为指向与所需版本匹配的libthrift.jar文件

    例如:

    export HADOOP_CLASSPATH=/var/lib/hdfs/libthrift-0.9.jar
    

    希望这有帮助