Writer Scaling Properties#
By default, the number of writer tasks is static. Enabling writer scaling allows Presto to dynamically scale out the number of writer tasks rather than allocating a fixed number of tasks. Additional tasks are added when the average amount of physical data per writer is above a minimum threshold, but only if the query is bottlenecked on writing.
Writer scaling is useful with connectors like Hive that produce one or more files per writer – reducing the number of writers results in a larger average file size. However, writer scaling can have a small impact on query wall time due to the decreased writer parallelism while the writer count ramps up to match the needs of the query.
scale-writers
#
Type:
boolean
Default value:
false
Enable writer scaling. This can be specified on a per-query basis
using the scale_writers
session property.
writer-min-size
#
Type:
data size
Default value:
32MB
The minimum amount of data that must be written by a writer task before
another writer is eligible to be added. Each writer task may have multiple
writers, controlled by task.writer-count
, thus this value is effectively
divided by the the number of writers per task. This can be specified on a
per-query basis using the writer_min_size
session property.