我试图插入到表与在AWS上的EMR集群的查询。该表是正确创建,和他的同事可以运行,我使用完全相同的代码,它不会失败。然而,当我尝试运行代码,我得到了地图1故障,使整个作业失败,下面的下面的查询错误。
有人可以帮助我弄清楚为什么当我运行它我的工作是失败的,但我的朋友可以没有问题运行呢?我在这个一直盯着整个一天,不能让过去吧。
----------------------------------------------------------------------------------------------
VERTICES MODE STATUS TOTAL COMPLETED RUNNING PENDING FAILED KILLED
----------------------------------------------------------------------------------------------
Map 1 container RUNNING 13 0 0 13 40 1
Map 3 .......... container SUCCEEDED 1 1 0 0 0 0
Map 5 .......... container SUCCEEDED 1 1 0 0 0 0
Map 7 .......... container SUCCEEDED 1 1 0 0 0 0
Map 8 .......... container SUCCEEDED 1 1 0 0 0 0
Reducer 2 container INITED 6 0 0 6 0 0
Reducer 4 ...... container SUCCEEDED 2 2 0 0 0 0
Reducer 6 ...... container SUCCEEDED 2 2 0 0 0 0
Reducer 9 ...... container SUCCEEDED 2 2 0 0 0 0
----------------------------------------------------------------------------------------------
VERTICES: 07/09 [========>>------------------] 34% ELAPSED TIME: 132.71 s
----------------------------------------------------------------------------------------------
Status: Failed
Vertex failed, vertexName=Map 1, vertexId=vertex_1544915203536_0453_2_07, diagnostics=[Task failed, taskId=task_1544915203536_0453_2_07_000009, diagnostics=[TaskAttempt 0 failed, info=[Error: Error while running task ( failure ) : attempt_1544915203536_0453_2_07_000009_0:java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: java.io.IOException: java.lang.IllegalArgumentException: [
at org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:211)
at org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:168)
at org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:370)
at org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:73)
at org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:61)
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:1840)
at org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:61)
at org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:37)
at org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java:36)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: java.io.IOException: java.lang.IllegalArgumentException: [VALUE] BINARY is not in the store:
at
我认为错误:
[tuning_event_start_ts] BINARY不在商店
最重要的一点是:not in the store
检查你的查询(只有选择没有插入)。
这表包含qazxsw POI?
因此,原来的量化是问题。这些都将在会议开始时被激活的设置。
TUNING_EVENT_START_TS
如果不激活这个它能够运行速度较慢,但成功。这似乎蜂巢不喜欢的时间戳值。在下面wiki的底部是一个限制件。这肯定工作没有这些选项的设置。
set hive.vectorized.execution.enabled = true;
set hive.vectorized.execution.reduce.enabled = true;
总之,时间戳和矢量不喜欢蜂巢对方....但只是有时...