我有一个表,其数据如下:
A B
a1 b1
a2 b2
我想像这样执行sql
select A,B from test where A = 'a1'
但是a1具有UTF-8 BOM,因此我无法获得(a1,b1)之类的数据。
我无权更改数据,因此如何编写像where A = '???'
答案 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;