首页 > 解决方案 > Hive 时间戳错误为二进制

问题描述

我正在尝试在 AWS 上的 EMR 集群中插入带有查询的表。该表创建正确,同事可以运行我正在使用的完全相同的代码,并且不会失败。但是,当我尝试运行代码时,我在 Map1 中遇到故障,导致整个作业失败,并出现以下查询错误。

有人可以帮我弄清楚为什么我运行它时我的工作失败了,但是我的朋友可以毫无问题地运行它吗?我一整天都在盯着它看,无法超越它。

----------------------------------------------------------------------------------------------
        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 

标签: amazon-web-servicestypeshiveamazon-emr

解决方案


我认为在错误中:

[tuning_event_start_ts] BINARY 不在商店中

最重要的一点是:not in the store

检查您的查询(仅选择不插入)。

哪个表包含TUNING_EVENT_START_TS


推荐阅读