Presto on Search of normal select query[non partitioned hive table]给出列$path在数据库默认表<Table>中不存在

Posted

技术标签:

【中文标题】Presto on Search of normal select query[non partitioned hive table]给出列$path在数据库默认表<Table>中不存在【英文标题】:Presto on Search of normal select query[non partitioned hive table] gives Column $path doesn't exist in table <Table> in database default 【发布时间】:2021-09-29 20:35:41 【问题描述】:

我们有一个非分区表 - 配置单元中的 xx_table 查询它会给出正确的响应。在连接到 hive 的 Presto 上,给出以下错误响应。 [Presto 版本:presto_0.180]

presto:default> select * from xx_table;

查询 20210722_123707_00059_42bza 失败:列 $path 不存在 在数据库默认的表 xx_table 中

presto:default> show create table xx_table;
   
----------------------------------------------------
 CREATE TABLE hive.default.xx_table (
    a bigint,
    b timestamp,
    c timestamp,
    d bigint,
    e bigint,
    f bigint,
    g varchar,
    h timestamp,
    i bigint,
    j timestamp,
    k bigint
 )
 WITH (
    format = 'ORC'
 )

【问题讨论】:

【参考方案1】:

作为一种解决方法,尝试在 Hive 中计算统计信息:

ANALYZE TABLE .... COMPUTE STATISTICS FOR COLUMNS

好像是这个bug:#8380 您也可以尝试升级到 0.183 或更高版本

【讨论】:

以上是关于Presto on Search of normal select query[non partitioned hive table]给出列$path在数据库默认表<Table>中不存在的主要内容,如果未能解决你的问题,请参考以下文章

Presto系列 | 一Presto SQL On Everything

Presto系列 | 一Presto SQL On Everything

Presto on Spark:通过 Spark 来扩展 Presto

Presto on Yarn在易果大数据平台实践

Presto on Alluxio By Alluxio SDS 单节点搭建

Presto on Alluxio By Alluxio SDS 单节点搭建