我有一个数据表,比如: A B a1 b1 a2 b2 我想像这样执行sql: select A,B from test where A = 'a1' 但是a1有一个utf-8bom,所以我不能得到像(a1,b1)这样的数据。我没有修改数据的能力,所以怎么写sql之类的 where A = '???'
A B a1 b1 a2 b2
select A,B from test where A = 'a1'
where A = '???'
brjng4g31#
尝试发布 ALTER TABLE test SET SERDEPROPERTIES ('serialization.encoding'='UTF-8'); 在你的 SELECT 声明。或者你可以制作这样一张新table test2 :
ALTER TABLE test SET SERDEPROPERTIES ('serialization.encoding'='UTF-8');
SELECT
test2
CREATE TABLE test2ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'WITH SERDEPROPERTIES ('serialization.encoding'='UTF-8')AS SELECT * FROM test;
CREATE TABLE test2
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES ('serialization.encoding'='UTF-8')
AS SELECT * FROM test;
1条答案
按热度按时间brjng4g31#
尝试发布
ALTER TABLE test SET SERDEPROPERTIES ('serialization.encoding'='UTF-8');
在你的SELECT
声明。或者你可以制作这样一张新table
test2
: