10亿条记录使用parquet文件格式和hadooptext输入格式在spark中连接(过滤器)

nsc4cvqm  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(274)

从配置单元读取spark中一个表的10亿条记录时,此表将日期列和国家列作为分区。它运行了很长一段时间,因为我们正在对它进行许多转换。如果我改变配置单元表文件格式为Parquet,那么它会有任何性能?任何改进绩效的建议。

vnjpjtjt

vnjpjtjt1#

把兽人换成实木地板可能不会提高性能。
但这取决于你拥有的数据类型。如果你使用嵌套对象,你需要使用Parquet地板,兽人是不好的。
但要想有所改进,我建议您执行一些步骤,这些步骤可以帮助您处理hive中的数据。

检查配置单元中的文件数。

在配置单元查询中,一个常见的问题是每个分区中的文件数,这些文件的大小是。如果您使用spark来存储数据,我建议您检查文件的大小,以及它们是否与hadoop块的大小一起存储。如果没有,请尝试使用命令 CONCATENATE 解决这个问题。正如你在这里看到的。

predicate 下推

这就是hive和orc文件在查询数据时可以提供的最佳性能。我建议你开一辆 ANALYSE 命令强制创建表的统计信息,这将提高性能,如果数据效率不高,这将有所帮助。选中此处,将更新配置单元元存储并提供一些相关的数据信息。

有序数据

如果可能的话,试着存储按某列排序的数据,并在该列中进行过滤和其他操作。你的加入可以得到改善。

相关问题