0762-5.16.2-Impala查詢HBase表字段順序不正確異常分析

​異常說明

按照官方文檔在Hive中建表關聯HBase,然後在Hue中用Impala查詢,查詢結果中字段的順序與在Hive中的建表順序不一致,Hue中使用Impala查詢出來的字段順序是按照字母排序的。

問題重現和說明

在Hive中建表關聯HBase

<code>

CREATE

 

EXTERNAL

 

TABLE

 

`hbasestringids`

(            | |   

`id`

 

string

 

COMMENT

 

'from deserializer'

,         | |   

`bool_col`

 

boolean

 

COMMENT

 

'from deserializer'

,  | |   

`tinyint_col`

 

tinyint

 

COMMENT

 

'from deserializer'

,  | |   

`smallint_col`

 

smallint

 

COMMENT

 

'from deserializer'

,  | |   

`int_col`

 

int

 

COMMENT

 

'from deserializer'

,       | |   

`bigint_col`

 

bigint

 

COMMENT

 

'from deserializer'

,  | |   

`float_col`

 

float

 

COMMENT

 

'from deserializer'

,   | |   

`double_col`

 

double

 

COMMENT

 

'from deserializer'

,  | |   

`date_string_col`

 

string

 

COMMENT

 

'from deserializer'

,  | |   

`string_col`

 

string

 

COMMENT

 

'from deserializer'

,  | |   

`timestamp_col`

 

timestamp

 

COMMENT

 

'from deserializer'

) | | 

ROW

 

FORMAT

 SERDE                                   | |   

'org.apache.hadoop.hive.hbase.HBaseSerDe'

        | | 

STORED

 

BY

                                          | |   

'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

  | | 

WITH

 SERDEPROPERTIES (                             | |   

'hbase.columns.mapping'

=

':key,boolsCF:bool_col,intsCF:tinyint_col,intsCF:smallint_col,intsCF:int_col,intsCF:bigint_col,floatsCF:float_col,floatsCF:double_col,stringsCF:date_string_col,stringsCF:string_col,stringsCF:timestamp_col'

,  | |   

'serialization.format'

=

'1'

)                      | | TBLPROPERTIES (                                    | |   

'hbase.table.name'

=

'hbasealltypessmall'

,         | |   

'transient_lastDdlTime'

=

'1585032011'

)/<code>


Hive中的建表順序如下

0762-5.16.2-Impala查詢HBase表字段順序不正確異常分析


在Impala-shell中查詢出的表字段順序如下,與Hive建表順序不一致

0762-5.16.2-Impala查詢HBase表字段順序不正確異常分析


在Hue中用詢出來的表字段順序如下,與在Impala-shell中的查詢結果一直,但是與Hive中的建表順序不一致。

0762-5.16.2-Impala查詢HBase表字段順序不正確異常分析


經確認,此問題是Impala中的一個bug,目前正在修復中。目前有一個Jira在跟蹤這個問題,鏈接如下,如果要保持字段順序可以在select後按照自己想要的順序自己編寫。

https://issues.apache.org/jira/browse/IMPALA-886


分享到:


相關文章: