在Hive中,我遇到一个特殊字符的问题。例如,当我执行SELECT时,我有此表A:
| day | street |
+ 2018-09-13 + 4 Avenue L□o Lagrange +
街道应为“ 4 AvenueLéoLagrange”。
如果我这样做:
SELECT street from A WHERE street = '4 Avenue L□o Lagrange'
我有一张空桌子。
如果我这样做:
SELECT street from A WHERE street = '4 Avenue Léo Lagrange'
我还有一个空表。
如何进行正确的查询?
答案 0 :(得分:0)
使用opencsv serde重新创建表,如下所示,它应该可以解决您的问题。在下面查看我的结果:
CREATE TABLE A (day date, street string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
"separatorChar" = ",")
STORED AS TEXTFILE;
使用以下命令从csv加载表:
load data local inpath '<local path to csv>/street.csv' into table A;
结果:
hive> select * from A;
OK
2018-09-13 4 Avenue Léo Lagrange
hive> SELECT street from A WHERE street = '4 Avenue Léo Lagrange';
OK
4 Avenue Léo Lagrange