在 Hive 中选择"来自 ORC 快照表的行"



我创建了一个表格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"(;

相关内容

  • 没有找到相关文章

最新更新