0
我是Hadoop/Hive的新手。我正在嘗試使用hive處理xml文件。搜索一段時間後,我遇到了可用於此目的的自定義FileFormat代碼,用於xml文件。使用自定義文件格式讀取配置單元中的xml文件
(這裏是定製xmlinputformat類的源代碼:XmlInputFormat.class
我添加xmlinputformat類罐和創建了一個示例表:
create table person (
name string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS INPUTFORMAT 'com.hadoop.xmlparser.XmlInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat';
我試圖檢索來自數據上述表,並得到了如下錯誤:從org.apache.hadoop.hive.ql.exec.MapRedTask
執行錯誤,返回碼2
繼在JobTracker的日誌中發現的錯誤:
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.apache.hadoop.hive.shims.Hadoop20SShims$CombineFileRecordReader.initNextRecordReader(Hadoop20SShims.java:306)
at org.apache.hadoop.hive.shims.Hadoop20SShims$CombineFileRecordReader.<init>(Hadoop20SShims.java:269)
at org.apache.hadoop.hive.shims.Hadoop20SShims$CombineFileInputFormatShim.getRecordReader(Hadoop20SShims.java:366)
at org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getRecordReader(CombineHiveInputFormat.java:413)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:371)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:325)
at org.apache.hadoop.mapred.Child$4.run(Child.java:270)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1127)
at org.apache.hadoop.mapred.Child.main(Child.java:264)
Caused by: java.lang.reflect.InvocationTargetException
at sun
爲上述問題的解決方案的任何?謝謝!!