【问题标题】:impala support for arrays and mapsimpala 对数组和地图的支持
【发布时间】:2016-08-29 19:34:12
【问题描述】:

我正在使用 cdh 5.5.1 中的 impala 2.3

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

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

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

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

约西

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


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

当漂亮打印被禁用时,您可以使用“--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 中选择 slot_available; 查询:select slot_available from start_session limit 1 错误:AnalysisException:选择列表中的 Expr 'slots_available' 返回复杂类型 'ARRAY'。 选择列表中只允许使用标量类型。

【问题讨论】:

    标签: cloudera-cdh impala


    【解决方案1】:

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

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

    From the documentation:

    Impala 查询的结果集始终包含所有标量类型; 任何复杂类型查询中的元素和字段必须是 使用连接查询“解包”。查询不能直接检索 复杂类型列的整个值。 Impala 返回错误 这个案例。对于复杂的表,允许使用 SELECT * 进行查询 类型,但复杂类型的列会被跳过。

    【讨论】:

      猜你喜欢
      • 2018-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-24
      • 2015-07-30
      • 1970-01-01
      相关资源
      最近更新 更多