HIVE - "skip.footer.line.count" 在 Impala 中不起作用
HIVE - "skip.footer.line.count" doesn't work in Impala
我正在将平面文件传送到 hdfs。文件的一般结构如下:
<header - 2 rows>
<data>
<footer - 1 row>
我在这个数据集之上构建了一个外部配置单元 table。下面是我的配置单元 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
时;我从外部 table 得到了预期的确切行数。但是当我 运行 在 IMPALA 中执行完全相同的查询时,我收到了另外一行,基本上是页脚 属性.
例如: 下面的例子将清除场景:
Feed 中的示例数据:
Header,Sample-03122018,
ID,NAME,AGE
1,R,10
2,RR,11
3,RRR,12
Footer,End of Report,
运行 select 命令在 HIVE 中使用上述 DDL [预期输出] 时的输出:
1,R,10
2,RR,11
3,RRR,12
使用上述DDL在IMPALA中执行运行select命令时的输出:[问题]
1,R,10
2,RR,11
3,RRR,12
Footer,End of Report,Null
您遇到过类似的问题吗?如果是,请告诉我 suitable 解决方案。
此功能尚未在 Impala 中实现,请参阅此 Jira IMPALA-7196。
Impala不识别skip.footer.line.count
,所以实际上被忽略了。
解决方法是使用过滤器 WHERE ID <> 'Footer'
进行查询,或者在将文件加载到 table 目录之前剪切文件页脚。
我正在将平面文件传送到 hdfs。文件的一般结构如下:
<header - 2 rows>
<data>
<footer - 1 row>
我在这个数据集之上构建了一个外部配置单元 table。下面是我的配置单元 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
时;我从外部 table 得到了预期的确切行数。但是当我 运行 在 IMPALA 中执行完全相同的查询时,我收到了另外一行,基本上是页脚 属性.
例如: 下面的例子将清除场景:
Feed 中的示例数据:
Header,Sample-03122018,
ID,NAME,AGE
1,R,10
2,RR,11
3,RRR,12
Footer,End of Report,
运行 select 命令在 HIVE 中使用上述 DDL [预期输出] 时的输出:
1,R,10
2,RR,11
3,RRR,12
使用上述DDL在IMPALA中执行运行select命令时的输出:[问题]
1,R,10
2,RR,11
3,RRR,12
Footer,End of Report,Null
您遇到过类似的问题吗?如果是,请告诉我 suitable 解决方案。
此功能尚未在 Impala 中实现,请参阅此 Jira IMPALA-7196。
Impala不识别skip.footer.line.count
,所以实际上被忽略了。
解决方法是使用过滤器 WHERE ID <> 'Footer'
进行查询,或者在将文件加载到 table 目录之前剪切文件页脚。