Управление нативным ядром Oxide#

Основная статья о ядре Oxide: Нативное ядро Oxide.

Общая конфигурация#

cedrusdata.oxide.enabled#

  • Тип: boolean

  • Значение по умолчанию: false

  • Свойство сессии: cedrusdata_oxide_enabled

Включает нативное ядро Oxide.

cedrusdata.oxide.fail-if-cannot-load#

  • Тип: boolean

  • Значение по умолчанию: false

Определяет поведение узла, если нативное ядро не может быть загружено в процесс worker-узла:

  • false — работа узла будет продолжена, выполнение всех операторов будет происходить в Java

  • true — запуск узла будет прерван с ошибкой.

cedrusdata.oxide.log#

  • Тип: string

  • Значение по умолчанию: INFO(cedrusdata)

Определяет уровень логирования компонентов Oxide. Для работы логирования Oxide необходимо предварительно включить логирование пакета io.trino.cedrusdata.oxide.internal.log в файле etc/log.properties. Например, для логирования с максимальным уровнем INFO: io.trino.cedrusdata.oxide.internal.log=INFO.

Строка конфигурации должна быть задана в виде элементов LEVEL(MODULE,...), разделенных запятой. Допустимые значения level: ERROR, WARN, INFO, DEBUG. Имя модуля должно быть задано в виде component1[::component2[...]]. Пример: DEBUG(cedrusdata::jni),INFO(cedrusdata::operator).

cedrusdata.oxide.memory.allocation-reporting-step#

  • Тип: data size

  • Значение по умолчанию: 2KB

  • Свойство сессии: cedrusdata_oxide_memory_allocation_reporting_step

Как часто уведомлять ядро Java об изменении потребления памяти в Oxide. Например, cedrusdata.oxide.memory.allocation-reporting-step=1MB означает, что Oxide будет уведомлять ядро Java об изменении потребления памяти на каждый 1 мегабайт.

Поддержка операторов и функций#

cedrusdata.oxide.aggregation-enabled#

  • Тип: boolean

  • Значение по умолчанию: true

  • Свойство сессии: cedrusdata_oxide_aggregation_enabled

Выполнять ли агрегации (SINGLE или PARTIAL) в Oxide.

cedrusdata.oxide.final-aggregation-enabled#

  • Тип: boolean

  • Значение по умолчанию: false

  • Свойство сессии: cedrusdata_oxide_final_aggregation_enabled

Выполнять ли агрегации (FINAL) в Oxide.

cedrusdata.oxide.local-exchange-enabled#

  • Тип: boolean

  • Значение по умолчанию: false

  • Свойство сессии: cedrusdata_oxide_local_exchange_enabled

Выполнять ли local exchange в Oxide.

cedrusdata.oxide.approx-distinct.enabled#

  • Тип: boolean

  • Значение по умолчанию: true

  • Свойство сессии: cedrusdata_oxide_approx_distinct_enabled

Выполнять ли агрегатную функцию approx_distinct() в Oxide.

cedrusdata.oxide.optimized-in-max-range#

  • Тип: boolean

  • Значение по умолчанию: 1048576

  • Свойство сессии: cedrusdata_oxide_optimized_in_max_range

Максимальная разница между минимальным и максимальным значением целочисленных констант в операторе IN, когда может быть использована оптимизированная реализация оператора, использующая массив вместо хэш-таблицы.

Другие параметры#

cedrusdata.oxide.tokio.worker-threads#

  • Тип: integer

  • Значение по умолчанию: 0

Максимальное количество потоков Oxide, которое может быть использовано для выполнения вычислений. Значение по умолчанию 0 или любое отрицательное значение означают, что CedrusData подберет оптимальное количество потоков самостоятельно на основе количества ядер процессора.

cedrusdata.oxide.tokio.max-blocking-threads#

  • Тип: integer

  • Значение по умолчанию: 0

Максимальное количество потоков Oxide, которое может быть использовано для выполнения блокирующих IO операций. Значение по умолчанию 0 или любое отрицательное значение означают, что CedrusData подберет оптимальное количество потоков самостоятельно.

cedrusdata.oxide.tokio.store-parallelism#

  • Тип: integer

  • Значение по умолчанию: количество ядер, умноженное на 2

Максимальное количество одновременных запросов к S3, которое может выполнять Oxide. Увеличение данного параметра может повысить утилизацию сети при работе с S3. Чрезмерно высокие значения приводят к уменьшению пропускной способности S3 из-за фрагментации TCP-пакетов.

cedrusdata.oxide.type-conversion.time-zone#

  • Тип: string

  • Значение по умолчанию: использовать временную зону по умолчанию

  • Свойство сессии: cedrusdata_oxide_type_conversion_time_zone

Задает временную зону, которая будет использована для передачи значений типа TIMESTAMP WITH TIME ZONE из Oxide в Java.