gpt4 book ai didi

cloudera-cdh - impala 对数组和映射的支持

转载 作者:行者123 更新时间:2023-12-02 07:51:04 33 4
gpt4 key购买 nike

我使用的是 cdh 5.5.1 中的 impala 2.3

据我了解,这个版本应该支持数组和 map 。

我有一个包含数组字段的表(请参见下文)

当我尝试使用 CLI 获取此字段时,我得到:选择列表中的 Expr 'slots_available' 返回复杂类型 'ARRAY'。(请参阅下文)

impala 2.3真的支持数组吗?我错过了什么吗?

尤西

服务器版本:impalad 版本 2.3.0-cdh5.5.1 RELEASE(内部版本 73bf5bc5afbb47aa7eab06cfbf6023ba8cb74f3c)

<小时/>

欢迎使用 Impala shell。版权所有 (c) 2015 Cloudera, Inc. 保留所有权利。(Impala Shell v2.3.0-cdh5.5.1 (73bf5bc) 于 2015 年 12 月 2 日星期三 10:39:33 PST 2015 构建)

当 pretty-print 被禁用时,您可以使用'--output_delimiter'标志来设置同一行中字段的分隔符。默认值为“,”。

<小时/>
CREATE EXTERNAL TABLE olv_event.session (                
event_id STRING,
ts BIGINT,
slots_available ARRAY<STRING>
)

PARTITIONED BY (
dt STRING,
hr INT
)

WITH SERDEPROPERTIES ('serialization.format'='1')
STORED AS PARQUET
LOCATION 'hdfs://prod-hdp-master:8020/olv/event/session'
TBLPROPERTIES ('transient_lastDdlTime'='1460364027')

[prod-hdp-slave-1:21000] > 从start_session限制1中选择slots_available;查询:从start_session limit 1中选择slots_available错误: AnalysisException:选择列表中的 Expr 'slots_available' 返回复杂类型 'ARRAY'。选择列表中只允许使用标量类型。

最佳答案

你问,“impala 2.3真的支持数组吗?”

答案是“是的,但不是数组的这种用法。”

From the documentation:

The result set of an Impala query always contains all scalar types; the elements and fields within any complex type queries must be "unpacked" using join queries. A query cannot directly retrieve the entire value for a complex type column. Impala returns an error in this case. Queries using SELECT * are allowed for tables with complex types, but the columns with complex types are skipped.

关于cloudera-cdh - impala 对数组和映射的支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37026440/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com