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:
boolean
Default value:
true
Merge TableWriter output before sending to TableFinishOperator. This property must be set to
false
.
native-execution-enabled
¶
Type:
boolean
Default value:
false
This property is required when running Presto C++ workers because of underlying differences in behavior from Java workers.
optimizer.optimize-hash-generation
¶
Type:
boolean
Default value:
true
Set this property to
false
when 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:
type
Allowed values:
RE2J
Default value:
JONI
Only RE2J is currently supported by Velox.
use-alternative-function-signatures
¶
Type:
boolean
Default value:
false
Some 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:
boolean
Default value:
true
In-memory cache.
query.max-memory-per-node
¶
Type:
integer
Default value:
4GB
Max memory usage for each query.
query-memory-gb
¶
Type:
integer
Default value:
38
The 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:
integer
Default value:
4
Specifies 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:
integer
Default value:
40
Memory allocation limit enforced via internal memory allocator.
Set
system-memory-gb
to the available machine memory of the deployment.
task.max-drivers-per-task
¶
Type:
integer
Default value:
number of hardware CPUs
Number of drivers to use per task. Defaults to hardware CPUs.