Hive 带有Tez的配置单元,作业中未指定输入路径

Hive 带有Tez的配置单元,作业中未指定输入路径,hive,hadoop2,apache-tez,Hive,Hadoop2,Apache Tez,我使用了hadoop-0.20.x.x和hive-0.11.0。我将讨论配置单元查询:使用指定的配置,一切都很好,工作正常。 现在,我们已经升级到hadoop-2.6.x(hadoop2)和hive-0.14.x。也使用apachetez 问题是,hadoop按原样工作。但是配置单元sql查询没有。 下面的查询在旧版本中运行良好。但在升级版本中抛出错误: 查询:选择abc.property\u name、xyz.date、xyz.time、xyz.value\u作为\u编号,xyz.value\

我使用了hadoop-0.20.x.x和hive-0.11.0。我将讨论配置单元查询:使用指定的配置,一切都很好,工作正常。 现在,我们已经升级到hadoop-2.6.x(hadoop2)和hive-0.14.x。也使用apachetez

问题是,hadoop按原样工作。但是配置单元sql查询没有。 下面的查询在旧版本中运行良好。但在升级版本中抛出错误: 查询:
选择abc.property\u name、xyz.date、xyz.time、xyz.value\u作为\u编号,xyz.value\u单位从dbname.xyz加入dbname.abc ON(xyz.id=abc.src\u id),其中xyz.person\u id=138312

例外情况:

INFO  : Session is already open
INFO  : Tez session was closed. Reopening...
INFO  : Session re-established.
INFO  :

INFO  : Status: Running (Executing on YARN cluster with App id application_1435524970199_0035)

INFO  : Map 1: -/-      Map 2: -/-
ERROR : Status: Failed
ERROR : Vertex failed, vertexName=Map 1, vertexId=vertex_1435524970199_0035_1_00, diagnostics=[Vertex vertex_1435524970199_0035_1_00 [Map 1] killed/failed due to:ROOT_INPUT_INIT_FAILURE, Vertex Input: concept initializer failed, vertex=vertex_1435524970199_0035_1_00 [Map 1], java.io.IOException: No input paths specified in job
        at org.apache.hadoop.hive.ql.io.HiveInputFormat.getInputPaths(HiveInputFormat.java:318)
        at org.apache.hadoop.hive.ql.io.HiveInputFormat.getSplits(HiveInputFormat.java:328)
        at org.apache.hadoop.hive.ql.exec.tez.HiveSplitGenerator.initialize(HiveSplitGenerator.java:130)
        at org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable$1.run(RootInputInitializerManager.java:245)
        at org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable$1.run(RootInputInitializerManager.java:239)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
        at org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable.call(RootInputInitializerManager.java:239)
        at org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable.call(RootInputInitializerManager.java:226)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
]
ERROR : Vertex failed, vertexName=Map 2, vertexId=vertex_1435524970199_0035_1_01, diagnostics=[Vertex vertex_1435524970199_0035_1_01 [Map 2] killed/failed due to:ROOT_INPUT_INIT_FAILURE, Vertex Input: observation initializer failed, vertex=vertex_1435524970199_0035_1_01 [Map 2], java.io.IOException: No input paths specified in job
        at org.apache.hadoop.hive.ql.io.HiveInputFormat.getInputPaths(HiveInputFormat.java:318)
        at org.apache.hadoop.hive.ql.io.HiveInputFormat.getSplits(HiveInputFormat.java:328)
        at org.apache.hadoop.hive.ql.exec.tez.HiveSplitGenerator.initialize(HiveSplitGenerator.java:130)
        at org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable$1.run(RootInputInitializerManager.java:245)
        at org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable$1.run(RootInputInitializerManager.java:239)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
        at org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable.call(RootInputInitializerManager.java:239)
        at org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable.call(RootInputInitializerManager.java:226)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
]
ERROR : DAG failed due to vertex failure. failedVertices:2 killedVertices:0
Error: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask (state=08S01,code=2)
异常显示,
未指定输入路径
。我理解并知道如何在haodop mapreduce程序中进行求解。但是,我们如何使用配置单元查询来实现它呢。不管怎样,我认为这是不一样的

为了说明这一点,我使用了
hiveshell
beelineshell
,hive返回了预期的输出,但是beeline返回了与上面相同的异常

问题的美妙之处在于对单个表的查询可以很好地工作。但是,当我尝试处理
连接时,它抛出上述异常。

但是,我明白,apachetez对我的查询有影响。是否有人可以建议解决方案或pinpointtez参考,这样我就可以相应地阅读和重写查询。谢谢

它通过禁用apache-tez
工作。 看起来好像ApacheTez还不稳定