配置单元联接表引发runtimeexception

flmtquvp  于 2021-06-24  发布在  Hive
关注(0)|答案(0)|浏览(170)

有两个从mysqlMap的配置单元表,我连接了这两个表:

SELECT a.student_id, b.name
FROM t_student_archive a
LEFT JOIN category b
ON a.college_id = b.category_id
limit 10;

但由于runtimeexception失败:

Error: java.lang.RuntimeException: Error in configuring object
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:446)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
    at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1692)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
...
Caused by: java.lang.RuntimeException: Map operator initialization failed
    at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.configure(ExecMapper.java:137)
    ... 22 more
Caused by: java.lang.RuntimeException: cannot find field student_id from [0:category_id, 1:school_id, 2:name, 3:grade_id, 4:parent_id, 5:category_type, 6:link, 7:description, 8:icon, 9:status, 10:ordered, 11:date_added, 12:last_modified, 13:create_user_id, 14:last_user_id, 15:short_url, 16:is_deleted]
    at org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.getStandardStructFieldRef(ObjectInspectorUtils.java:523)
    at org.apache.hadoop.hive.serde2.objectinspector.StandardStructObjectInspector.getStructFieldRef(StandardStructObjectInspector.java:153)
    at org.apache.hadoop.hive.ql.exec.ExprNodeColumnEvaluator.initialize(ExprNodeColumnEvaluator.java:56)
    at org.apache.hadoop.hive.ql.exec.Operator.initEvaluators(Operator.java:1033)
    at org.apache.hadoop.hive.ql.exec.Operator.initEvaluatorsAndReturnStruct(Operator.java:1059)
    at org.apache.hadoop.hive.ql.exec.SelectOperator.initializeOp(SelectOperator.java:75)
    at org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:366)
    at org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:556)
    at org.apache.hadoop.hive.ql.exec.Operator.initializeChildren(Operator.java:508)
    at org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:376)
    at org.apache.hadoop.hive.ql.exec.MapOperator.initializeMapOperator(MapOperator.java:501)
    at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.configure(ExecMapper.java:116)
    ... 22 more

FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched: 
Stage-Stage-3: Map: 2   HDFS Read: 0 HDFS Write: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec

根据异常,它说它找不到字段id,但是 t_student_archive table有吗 student_id ,我可以选择它。哪里出了问题?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题