Presto C++ Properties Reference¶
This section describes Presto C++ configuration properties.
The following is not a complete list of all configuration and session properties, and does not include any connector-specific catalog configuration properties. For information on catalog configuration properties, see Connectors.
Coordinator Properties¶
Set the following configuration properties for the Presto coordinator exactly as they are shown in this code block to enable the Presto coordinator’s use of Presto C++ workers.
native-execution-enabled=true
optimizer.optimize-hash-generation=false
regex-library=RE2J
use-alternative-function-signatures=true
experimental.table-writer-merge-operator-enabled=false
These Presto coordinator configuration properties are described here, in alphabetical order.
experimental.table-writer-merge-operator-enabled¶
Type:
booleanDefault value:
trueMerge TableWriter output before sending to TableFinishOperator. This property must be set to
false.
native-execution-enabled¶
Type:
booleanDefault value:
falseThis property is required when running Presto C++ workers because of underlying differences in behavior from Java workers.
optimizer.optimize-hash-generation¶
Type:
booleanDefault value:
trueSet this property to
falsewhen running Presto C++ workers. Velox does not support optimized hash generation, instead using a HashTable with adaptive runtime optimizations that does not use extra hash fields.
regex-library¶
Type:
typeAllowed values:
RE2JDefault value:
JONIOnly RE2J is currently supported by Velox.
use-alternative-function-signatures¶
Type:
booleanDefault value:
falseSome aggregation functions use generic intermediate types which are not compatible with Velox aggregation function intermediate types. One example function is
approx_distinct, whose intermediate type isVARBINARY. This property provides function signatures for built-in aggregation functions which are compatible with Velox.
Worker Properties¶
The configuration properties of Presto C++ workers are described here, in alphabetical order.
async-data-cache-enabled¶
Type:
booleanDefault value:
trueIn-memory cache.
query.max-memory-per-node¶
Type:
integerDefault value:
4GBMax memory usage for each query.
query-memory-gb¶
Type:
integerDefault value:
38The total memory capacity that can be used across all query executions. Memory for system usage such as disk spilling and cache prefetch which are not counted in query memory usage.
query-reserved-memory-gb¶
Type:
integerDefault value:
4Specifies the amount of query memory capacity reserved to ensure that each query has the minimal memory capacity to run. A query can only allocate from the reserved query memory if its current capacity is less than the minimal memory capacity as specified by
memory-pool-reserved-capacity.The exceeding capacity must allocate from the non-reserved query memory.
system-memory-gb¶
Type:
integerDefault value:
40Memory allocation limit enforced via internal memory allocator.
Set
system-memory-gbto the available machine memory of the deployment.
task.max-drivers-per-task¶
Type:
integerDefault value:
number of hardware CPUsNumber of drivers to use per task. Defaults to hardware CPUs.