我正在使用CDH群集。
编写Inputformat后,我将其复制到所有HiveServer2库并重新启动HiveServer2
当我使用inputformat创建一个表并写一个像'select *'这样的常见查询时,它可以运行,一切都正确!
BUT!
当我编写一个应该使用MapReduce的查询时,如'where'
或'join'
或'count'
,它会抛出一个Class Not Found错误:
错误:java.io.IOException:找不到类 com.my.parquet.MyParquetInputFormat
at
org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getRecordReader(CombineHiveInputFormat.java:714)
在 org.apache.hadoop.mapred.MapTask $ TrackedRecordReader。(MapTask.java:169)
在 org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:432)
在org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
在 org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:164)
在 java.security.AccessController.doPrivileged(Native Method)
在 javax.security.auth.Subject.doAs(Subject.java:415)
在
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693)
在org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)希望你帮忙!