如何跳过impala外部表中的文件头?

wyyhbhjk  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(458)

我有78GB大小的hdfs文件
我需要在上面创建一个impala外部表来对可用数据执行一些分组和聚合
文件包含标题时出现问题。
问题是,在读取文件时,是否有任何方法可以跳过文件头并对其余数据进行查询。
虽然我有办法解决这个问题,将文件复制到本地,然后删除头文件,然后将更新后的文件再次复制到hdfs,但这是不可行的,因为文件太大了
如果有人知道。。。
如有任何建议,我们将不胜感激。。。。
提前谢谢

nmpmafwu

nmpmafwu1#

一个简单的方法是通过pig运行hdfs数据,过滤掉头文件并生成一个新的hdfs数据集,这样impala就可以清晰地读取它。
更神秘的方法取决于hdfs数据的格式。例如,如果头和数据行都是制表符分隔的,那么您可以使用包含所有字符串字段的模式读取所有内容,然后在进行聚合之前过滤或划分头。

nuypyhwy

nuypyhwy2#

更新或删除行操作在hive/impala中不可用。所以你应该模拟删除
将数据文件加载到临时hive/impala表中
使用insert into或create table as on temp table创建require表

相关问题