impala性能最佳实践

impala性能最佳实践

1)根据数据大小选择合适的文件格式。对于每个表或分区都达很多G的数据,使用Parquet是性能表现最好的。

2)基于数据大小选择分区粒度。通常来说,最好保证每个分区的数据不小于256MB。过度分区会导致查询很多不需的分区而造成查询太长。理想情况下,表的分区数要低于3万个。在每个分区目录下,保存的文件应该是几个大文件,而不要保存很多小文件。如果接收的数据本身是很多小文件,要考虑使用INSERT …SELECT语句将一个表或分区的数据复杂到其他表或分区,这会压缩文件达到较少的数量。

3)选择一个合适的Parquet block尺寸。

4)将传输结果回客户端的最小负载最小化。

5)验证你的查询的逻辑是不是高效的。执行之前,通过EXPLAIN检测一下。

6)验证查询的性能特征。IO、内存使用、网络带宽、CPU利用率等等。

7)使用合适的操作系统设置

你可能感兴趣的:(impala性能最佳实践)