sql—配置单元查询如何高效地查找以avro格式存储的数据?

ghhkc1vu  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(282)

我们有大量相对较小的传入文件进行分析,所有这些文件的可用列都略有变化。我们正在将它们转换为avro格式,并在所有数据文件中维护一个主联合模式文件。然后,我们创建一个配置单元表并将其公开以供查询。
我忍不住觉得这幅画有点不对劲。查询如何识别要访问哪个或多个文件以获取任何小数据子集?它不需要每个查询都读取每个文件并搜索所查询的数据吗?这似乎效率极低。一种选择是开始组合这些文件,但即使文件大小与hadoop块大小完全相同,我们也会有大量的文件。
现在,我有了每个文件内容的完整信息。它们是按日期标记的,所以如果我要手动查找数据,我将确切地知道要访问哪些文件。如何将这些知识构建到hive接口中?

qzlgjiam

qzlgjiam1#

我相信我的问题并不是avro文件格式所独有的,而是在对任何分割成多个文件的底层外部数据创建配置单元表时的一般问题。如果您在google搜索中询问关于配置单元和多个文件的相同问题,您会发现解决这个问题的最佳方法是在表中创建分区。每个分区将引导查询只遍历相关文件。
诀窍是正确设计如何将文件存储到子文件夹中并分配适当的分区。

相关问题