镶木地板格式的Mapreduce错误

时间:2014-04-01 07:55:48

标签: java hadoop mapreduce parquet

我试图运行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)
...

我尝试添加包含TException--libjars my_path/libthrift-0.9.0.jar的jar,但我仍然遇到同样的错误。

1 个答案:

答案 0 :(得分:3)

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

例如:

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

希望这有帮助!