DruidConn
class DruidConn(
overlord_url: str,
staging: StagingConfig,
time_column: str | None = None,
segment_granularity: SegmentGranularitySpec = 'ALL',
max_concurrent_subtasks: int = 1,
max_rows_per_segment: int = 5000000,
max_rows_in_memory: int = 1000000,
http_timeout_sec: int = 300,
credentials: UserPasswordCredentials | None = None,
)
Bases: Conn
Categories: connections
Represents a connection configuration for Apache Druid with cloud-staged bulk loading.
Data is first uploaded to the configured cloud staging area (S3, Azure
Blob, or GCS) and then ingested into Druid via the Overlord REST API
using a native batch index_parallel ingestion task.
Represents a connection configuration for Apache Druid with cloud-staged bulk loading.
Data is first uploaded to the configured cloud staging area (S3, Azure
Blob, or GCS) and then ingested into Druid via the Overlord REST API
using a native batch index_parallel ingestion task.
Parameters
overlord_urlBase URL of the Druid Overlord REST API (e.g. "http://druid-overlord:8090").
stagingCloud storage staging configuration. Provide one of: * :class:~tabsdata._io.cloud_staging.common.storage_config.S3Config — stage files in Amazon S3. * :class:~tabsdata._io.cloud_staging.common.storage_config.AzureConfig — stage files in Azure Blob Storage. * :class:~tabsdata._io.cloud_staging.common.storage_config.GCSConfig — stage files in Google Cloud Storage.
time_columnName of the PyArrow column to use as Druid's required __time primary timestamp. When None a constant value is used (2000-01-01T00:00:00.000Z). Defaults to None.
segment_granularityTime-based partitioning granularity. One of "ALL", "DAY", "HOUR", "MONTH", or "YEAR". Defaults to "ALL".
max_concurrent_subtasksMaximum number of parallel sub-tasks inside the index_parallel ingestion task. When set to 1 the supervisor runs inline without spawning subtasks. Defaults to 1.
max_rows_per_segmentDynamic partitioning threshold — maximum number of rows per segment. Defaults to 5_000_000.
max_rows_in_memoryIn-memory buffer size during ingestion. Defaults to 1_000_000.
http_timeout_secTimeout in seconds for HTTP requests to the Overlord API. Defaults to 300.
credentials:class:~tabsdata.UserPasswordCredentials for HTTP Basic authentication against the Overlord API, or None (the default) to skip authentication.
Properties
credentialsUserPasswordCredentials | NoneThe credentials used for HTTP Basic authentication. None if no
credentials were provided.
http_timeout_secintTimeout in seconds for HTTP requests to the Overlord API.
max_concurrent_subtasksintMaximum number of parallel sub-tasks inside the ingestion task.
max_rows_in_memoryintIn-memory buffer size during ingestion.
max_rows_per_segmentintMaximum number of rows per segment (dynamic partitioning threshold).
overlord_urlstrThe base URL of the Druid Overlord REST API.
segment_granularitySegmentGranularitySpecTime-based partitioning granularity for new segments.
stagingStagingConfigThe cloud storage staging configuration (S3Config, AzureConfig, or GCSConfig).
time_columnstr | NoneThe PyArrow column to use as Druid's __time primary timestamp.
None if a constant value should be used.