本篇内容介绍了“Impala查询HBase表字段顺序不正确异常怎么办”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
按照官方文档在Hive中建表关联HBase,然后在Hue中用Impala查询,查询结果中字段的顺序与在Hive中的建表顺序不一致,Hue中使用Impala查询出来的字段顺序是按照字母排序的。
在Hive中建表关联HBase
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')
Hive中的建表顺序如下
在Impala-shell中查询出的表字段顺序如下,与Hive建表顺序不一致
在Hue中用询出来的表字段顺序如下,与在Impala-shell中的查询结果一直,但是与Hive中的建表顺序不一致。
经确认,此问题是Impala中的一个bug,目前正在修复中。目前有一个Jira在跟踪这个问题,链接如下,如果要保持字段顺序可以在select后按照自己想要的顺序自己编写。
“Impala查询HBase表字段顺序不正确异常怎么办”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。