Impala schema基本设计原则

2018-07-04  本文已影响35人  远o_O

在进行任何概念验证工作,移植练习或部署到生产之前,请将这些指南用作check list。

1、Prefer binary file formats over text-based formats.

2、Use Snappy compression where practical.

Snappy压缩涉及较低的CPU开销以进行解压缩,同时仍可节省大量空间。如果您可以选择压缩编解码器(例如Parquet和Avro文件格式),请使用Snappy压缩,除非您找到使用其他编解码器的令人信服的理由。

3、Prefer numeric types over strings.

如果您有可以视为字符串或数字的数值(例如分区键列的YEAR,MONTH和DAY),请将它们定义为最小的适用整数类型。例如,YEAR可以是SMALLINT,MONTH和DAY可以是TINYINT。虽然您可能没有看到分区表或文本文件在磁盘上的布局方式有任何差异,但使用数字类型将以二进制格式(如Parquet)节省空间,并在执行查询时节省内存,尤其是资源密集型查询(如连接).

4、Partition, but don't over-partition

您可以将Parquet块大小减小到128 MB或64 MB,以增加每个分区的文件数并提高并行度。但也要考虑降低分区级别,以便分析查询有足够的数据可以使用。

5、Always compute stats after loading data.

6、Verify sensible execution plans with EXPLAIN and SUMMARY.(使用EXPLAIN和SUMMARY验证合理的执行计划。)

上一篇 下一篇

猜你喜欢

热点阅读