Presto C++ 属性参考

本节介绍 Presto C++ 配置属性。

以下并非所有配置和会话属性的完整列表,也不包括任何连接器特定的目录配置属性。有关目录配置属性的信息,请参见 连接器.

协调器属性

为了使 Presto 协调器能够使用 Presto C++ 工作器,请按照此代码块中所示的顺序为 Presto 协调器设置以下配置属性。

native-execution-enabled=true
optimizer.optimize-hash-generation=false
regex-library=RE2J
use-alternative-function-signatures=true
experimental.table-writer-merge-operator-enabled=false

这些 Presto 协调器配置属性在此处按字母顺序进行了描述。

experimental.table-writer-merge-operator-enabled

  • 类型: boolean

  • 默认值: true

    在发送到 TableFinishOperator 之前合并 TableWriter 输出。此属性必须设置为 false

native-execution-enabled

  • 类型: boolean

  • 默认值: false

    由于 Java 工作器和 C++ 工作器底层行为存在差异,运行 Presto C++ 工作器时需要此属性。

optimizer.optimize-hash-generation

  • 类型: boolean

  • 默认值: true

    运行 Presto C++ 工作器时,将此属性设置为 false。Velox 不支持优化的哈希生成,而是使用带有自适应运行时优化的哈希表,该表不使用额外的哈希字段。

regex-library

  • 类型: type

  • 允许的值: RE2J

  • 默认值: JONI

    Velox 目前只支持 RE2J

use-alternative-function-signatures

  • 类型: boolean

  • 默认值: false

    某些聚合函数使用通用的中间类型,这些类型与 Velox 聚合函数中间类型不兼容。一个示例函数是 approx_distinct,其中间类型为 VARBINARY。此属性为内置聚合函数提供与 Velox 兼容的函数签名。

工作器属性

Presto C++ 工作器的配置属性在此处按字母顺序进行了描述。

async-data-cache-enabled

  • 类型: boolean

  • 默认值: true

    内存中缓存。

query.max-memory-per-node

  • 类型: integer

  • 默认值: 4GB

    每个查询的最大内存使用量。

query-memory-gb

  • 类型: integer

  • 默认值: 38

    指定工作器节点上所有查询可以使用的总内存量(以 GB 为单位)。系统使用(如磁盘溢出和缓存预取)的内存不计入其中。

query-reserved-memory-gb

  • 类型: integer

  • 默认值: 4

    指定工作器节点上为查询保留的总内存量(以 GB 为单位)。如果满足以下两个条件,则查询才能从该保留空间分配内存:1)query-memory-gb 中的非保留空间已用完;2)尝试获取的内存量小于 memory-pool-reserved-capacity

runtime-metrics-collection-enabled

  • 类型: boolean

  • 默认值: false

    启用工作器级指标的收集。

system-memory-gb

  • 类型: integer

  • 默认值: 40

    通过内部内存分配器强制执行的内存分配限制。它包含两个部分:1)由查询使用的内存,如 query-memory-gb 中所指定;2)由系统使用的内存,如磁盘溢出和缓存预取。

    system-memory-gb 设置为部署的可用机器内存。

task.max-drivers-per-task

  • 类型: integer

  • 默认值: number of hardware CPUs

    每个任务要使用的驱动程序数量。默认为硬件 CPU 数量。