HIVE - “skip.footer.line.count”在 Impala 中不起作用
Posted
技术标签:
【中文标题】HIVE - “skip.footer.line.count”在 Impala 中不起作用【英文标题】:HIVE - "skip.footer.line.count" doesn't work in Impala 【发布时间】:2018-12-03 15:47:59 【问题描述】:我正在将平面文件传送到 hdfs。文件的一般结构如下:
<header - 2 rows>
<data>
<footer - 1 row>
我在此数据集之上构建了一个外部配置单元表。以下是我的配置单元 ddl:
create external table ext_test
(
id string,
name string,
age string
) row format DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '<hdfs file location>'
TBLPROPERTIES ('skip.footer.line.count'='1', 'skip.header.line.count'='2')
当我在 HIVE 中查询 select * from ext_test
时;我从外部表中获得了预期的确切行数。但是当我在 IMPALA 中运行完全相同的查询时,我会收到一个额外的行,它基本上是页脚属性。
例如:下面的例子将清除场景:
Feed 中的示例数据:
Header,Sample-03122018,
ID,NAME,AGE
1,R,10
2,RR,11
3,RRR,12
Footer,End of Report,
当我使用上述 DDL 在 HIVE 中运行选择命令时的输出 [预期输出]:
1,R,10
2,RR,11
3,RRR,12
当我使用上述 DDL 在 IMPALA 中运行选择命令时的输出:[Issue]
1,R,10
2,RR,11
3,RRR,12
Footer,End of Report,Null
你遇到过类似的问题吗?如果是,请告诉我合适的解决方案。
【问题讨论】:
【参考方案1】:此功能尚未在 Impala 中实现,请参阅此 Jira IMPALA-7196。
Impala 无法识别 skip.footer.line.count
,因此它实际上被忽略了。
解决方法是使用过滤器WHERE ID <> 'Footer'
进行查询,或者在将文件加载到表目录之前剪切文件页脚。
【讨论】:
以上是关于HIVE - “skip.footer.line.count”在 Impala 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章