如何在蜂巢中选择炸弹?

时间:2019-09-29 07:02:03

标签: hive hiveql

我有一个表,其数据如下:

A B a1 b1 a2 b2

我想像这样执行sql

select A,B from test where A = 'a1'

但是a1具有UTF-8 BOM,因此我无法获得(a1,b1)之类的数据。 我无权更改数据,因此如何编写像where A = '???'

这样的sql

1 个答案:

答案 0 :(得分:0)

尝试发布

ALTER TABLE test SET SERDEPROPERTIES ('serialization.encoding'='UTF-8');

在您的SELECT语句之前。

或者,您可以生成这样一个新表test2

CREATE TABLE test2
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES ('serialization.encoding'='UTF-8')
AS SELECT * FROM test;