📜  Apache Presto-配置设置(1)

📅  最后修改于: 2023-12-03 14:59:20.888000             🧑  作者: Mango

Apache Presto 配置设置

简介

Apache Presto是一款开源的分布式SQL查询引擎,它能够实现高速、大规模的数据查询操作。本文将介绍如何配置和设置Presto以优化查询性能和改进功能。

配置文件

在安装和启动Presto之前,我们需要先了解Presto的配置文件。Presto使用.properties文件格式的配置文件,其默认位置为/etc/presto/config.properties

下面是一个典型的Presto配置文件(config.properties)的示例:

# coordinator node配置
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=5GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery-server.enabled=true
discovery.uri=http://localhost:8080

# worker node配置
worker=true

其中,coordinator字段用于指定当前节点是否为协调节点,worker字段用于指定当前节点是否为工作节点。

常用配置项
Coordinator 配置项
  • http-server.http.port:设置HTTP端口号。
  • query.max-memory-per-node:设置每个节点允许分配的最大内存。
  • query.max-total-memory-per-node:设置每个节点允许分配的最大总内存。
  • node-scheduler.include-coordinator:设置协调节点是否参与任务调度。
  • discovery.uri:设置协调节点启动时自动注册到的发现服务器的URI地址。
Worker 配置项
  • http-server.http.port:设置HTTP端口号。
  • query.max-memory-per-node:设置每个节点允许分配的最大内存。
  • query.max-total-memory-per-node:设置每个节点允许分配的最大总内存。
高级设置

除了上述基本配置项以外,Presto还提供了许多高级设置,功能十分强大。这里列举其中的几个:

分区剪裁

分区剪裁(Partition Pruning)是一种优化技术,它能够根据查询条件从数据源中剪裁掉不必要的分区,从而加快数据查询。

在Presto中,可以将如下配置项设置为true即可开启分区剪裁功能:

optimizer.optimize-metadata-queries=true
动态过滤

动态过滤(Dynamic Filtering)是一种动态优化技术,它能够根据查询条件动态地过滤掉不必要的数据块,从而加快查询查询。

在Presto中,可以将如下配置项设置为true即可开启动态过滤功能:

enable-dynamic-filtering=true
预估统计信息

预估统计信息(Estimated Statistics)是一种统计优化技术,它能够根据历史数据记录和样本数据预估数据源的统计信息,从而帮助优化数据查询。

在Presto中,可以将如下配置项设置为true即可开启预估统计信息功能:

optimizer.use-table-statistics=true
总结

本文介绍了Presto的配置设置和优化功能,包括基本和高级设置。了解这些设置能够帮助程序员优化Presto的性能和功能,提高数据查询效率。