我创建了一个表格employee_orc它是带有快速压缩的兽人格式。
create table employee_orc(emp_id string, name string)
row format delimited fields terminated by 't' stored as orc tblproperties("orc.compress"="SNAPPY");
我已使用 insert 语句将数据上传到表中。
employee_orc table has 1000 records.
当我运行以下查询时,它显示了所有记录
select * from employee_orc;
但是,当运行以下查询时,即使记录存在,它也会显示零结果。
select * from employee_orc where emp_id = "EMP456";
为什么我无法从employee_orc表中检索单个记录?
记录不存在。 您可能认为它们是相同的,因为它们看起来相同,但存在一些差异。 一种可能性是字符串开头或结尾的空格。 为此,您可以使用like
:
where emp_id like '%EMP456%'
这可能会对您有所帮助。
就我而言,我不明白为什么要在 ORC 中指定分隔符。您是否混淆了CSV和ORC或外部与托管? 我建议您以不同的方式创建表格
创建表employee_orc(emp_id字符串,名称字符串( 存储为 ORC TBLPROPERTIES ( "orc.compress"="ZLIB"(;