我试图运行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,但我仍然遇到同样的错误。
答案 0 :(得分:3)
请尝试将HADOOP_CLASSPATH
参数设置为指向与您需要的版本匹配的libthrift.jar
文件。
例如:
export HADOOP_CLASSPATH=/var/lib/hdfs/libthrift-0.9.jar
希望这有帮助!