我正在尝试运行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
的罐子,但仍然收到相同的错误。
请尝试将 HADOOP_CLASSPATH
参数设置为指向与所需版本匹配的libthrift.jar
文件。
例如:
export HADOOP_CLASSPATH=/var/lib/hdfs/libthrift-0.9.jar
希望这有帮助!