2016-05-04 3 views
2

私はcdhのインパラ2.3を使用しています5.5.1配列とマップのインパラのサポート

このバージョンでは配列とマップをサポートするはずです。選択リストに Exprに「slots_available」「ARRAY複合型を返す:

は、私は私が取得しています。このフィールドを取得するためにCLIを使用しようとすると

(以下を参照してください)配列フィールドを持つテーブルを持っています' (下記参照)

実際にはimpala 2.3は配列をサポートしていますか?何か不足していますか?

Yosi

Serverバージョン:impaladバージョン2.3.0-cdh5.5.1のRELEASE(73bf5bc5afbb47aa7eab06cfbf6023ba8cb74f3cを構築)インパラシェルへ


ようこそ。 Copyright(c)2015 Cloudera、Inc.無断複写・転載を禁じます。きれいな印刷が無効になっている場合

は、あなたが設定する「--output_delimiter」フラグを使用することができます 日(水2015年12月2午前10時39分33秒PST上に構築されたインパラシェルV2.3.0-cdh5.5.1(73bf5bc)) 同じ行のフィールドの区切り文字。デフォルトは '、'です。


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-スレーブ1:21000]> start_session限度1からslots_available選択します。 クエリ:start_session limit 1からslot_availableを選択してください。 エラー:AnalysisException:選択リストのExpr 'slots_available'が複合型 'ARRAY'を返します。 選択リストにはスカラー型のみが使用できます。

答えて

0

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

関連する問題