3

我正在尝试运行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)
...

我尝试添加包含TExceptionwith的 jar,--libjars my_path/libthrift-0.9.0.jar但仍然出现相同的错误。

4

1 回答 1

3

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

例如:

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

希望这可以帮助!

于 2014-04-01T08:53:07.113 回答