【问题标题】:Error while running analyze table compute statistics in Hive table via EMR (hive 2.0)通过 EMR (hive 2.0) 在 Hive 表中运行分析表计算统计信息时出错
【发布时间】:2021-07-06 16:56:57
【问题描述】:

不确定这里有什么问题,但只是一个简单的分析表计算统计信息就会引发以下错误。我尝试了 msck repair 并且我觉得分区已损坏。在不删除分区的情况下可以做任何事情吗?

[Code: 500051 , SQL State: HY000]  [Amazon][HiveJDBCDriver](500051) ERROR processing query/statement. 
Error Code: 40000 , SQL state: TStatus(statusCode:ERROR_STATUS
,infoMessages:[*org.apache.hive.service.cli.HiveSQLException:Error while compiling statement: 
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: 
InvalidObjectException(message:Unsupported expression '__HIVE_DEFAULT_PARTITION__' (Service: AWSGlue; Status Code: 400;
Error Code: InvalidInputException; Request ID: ...)):28:27

【问题讨论】:

    标签: amazon-web-services hive amazon-emr


    【解决方案1】:

    我认为您的表已分区。请使用show partitions [db_name.]tablename查看。

    对于非分区表,您应该使用 -

    ANALYZE TABLE [db_name.]tablename COMPUTE STATISTICS 
    

    对于分区表,您应该使用 -

    ANALYZE TABLE [db_name.]tablename [PARTITION(partcol1[=val1], partcol2[=val2], ...)]   COMPUTE STATISTICS 
    

    【讨论】:

      【解决方案2】:

      表按哪个字段和类型分区?

      我猜它不是字符串类型。那么HIVE_DEFAULT_PARTITION 是一个错误的值。当您将NULLs 或不兼容的数据类型加载到分区时创建的此类分区。删除该分区位置并再次运行msck repair

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-24
        • 2020-09-28
        • 1970-01-01
        • 2020-01-21
        • 2017-01-30
        • 2023-03-03
        • 2021-04-05
        • 1970-01-01
        相关资源
        最近更新 更多