# README
go-druid
A Golang client for Druid. Now supports Query API and Common API.
Development
Testing
go-druid
uses mage to run tests locally.
Install Mage:
git clone https://github.com/magefile/mage
cd mage
go run bootstrap.go
mage -l
provides a list of targets that can be run. Default is Check
Targets:
build runs go mod download and then installs the binary.
check* run linters and tests
fmt run gofmt linter
lint run golint linter https://github.com/golang/lint
testCoverHTML generates test coverage report
testRace run tests with race detector
vet run go vet linter
* default target
# Packages
No description provided by the author
# Functions
No description provided by the author
NewIngestionSpec returns a default InputIngestionSpec and applies any options passed to it.
NewTaskIngestionSpec returns a default TaskIngestionSpec and applies any options passed to it.
SetBrokers sets the addresses of Kafka brokers.
SetDataSource sets the name of the dataSource used in Druid.
SetDimensions sets druid datasource dimensions.
SetDimensionsAutodiscovery sets druid autodiscovery for datasource dimensions.
No description provided by the author
SetForceGuaranteedRollup sets guaranteed rollup setting for ingestion spec.
SetGranularitySpec sets granularity spec settings that are applied at druid ingestion partitioning stage.
SetInputFormat sets the input format type, i.e.
SetIOConfigType sets the type of the supervisor IOConfig.
No description provided by the author
SetSQLInputSource configures sql input source.
SetTaskDataDimensions sets druid datasource dimensions.
SetTaskDataSource sets the destination datasource of the task IOConfig.
SetTaskDruidInputSource configures druid reindex input source for the task based ingestion.
SetTaskDuration sets the upper limit for druid ingestion task.
SetTaskGranularitySpec sets granularity spec settings that are applied at druid ingestion partitioning stage.
SetTaskInlineInputData configures inline data for the task based ingestion.
SetTaskInputFormat configures input format for the task based ingestion.
SetTaskIOConfigType sets the type of the task IOConfig.
SetTaskSchemaDiscovery sets auto discovery of dimensions.
SetTaskSQLInputSource configures sql input source for the task based ingestion.
SetTaskTimestampColumn sets the type of the task IOConfig.
SetTaskTuningConfig sets the tuning configuration the task IOConfig.
SetTaskType sets the type of the task IOConfig.
SetTimestampColumn sets timestamp column for the druid datasource.
SetTopic sets the Kafka topic to consume data from.
SetType sets the type of the supervisor (IOConfig).
SetUseEarliestOffset configures kafka druid ingestion supervisor to start reading from the earliest or latest offsets in Kafka.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
AutoScalerConfig is part of IOConfig that controls ingestion auto-scaling.
BitmapFactory is a field of IndexSpec.
No description provided by the author
No description provided by the author
CompactionInputSpec is a specification for compaction task.
ConnectorConfig is connection configuration for Database.
ConsumerProperties is a set of properties that is passed to a specific consumer, i.e.
CreateSupervisorResponse is a response object of Druid SupervisorService's SubmitTask method.
Database configuration for InputSource "sql".
DataSchema represents the Druid dataSchema spec.
Dimension is a typed definition of a datasource dimension.
DimensionSpec is a single dataset dimension that can be represented by a typed Dimension or a string value.
DimensionsSpec is responsible for configuring Druid's dimensions.
DynamicConfigProvider is an umbrella type for different DynamicConfigProviders.
EnvironmentVariableDynamicConfigProvider provides configuration values via environment variables.
Field defines a single filed configuration of the FlattenSpec.
Firehose is an IOConfig firehose configuration.
FlattenSpec is responsible for flattening nested input JSON data into Druid's flat data model.
GranularitySpec allows for configuring operations such as data segment partitioning, truncating timestamps, time chunk segmentation or roll-up.
HttpInputSourceConfig is a field of HttpInputSource specification.
IdleConfig defines if and when stream Supervisor can become idle.
IndexSpec defines segment storage format options to be used at indexing time.
IngestionSpecData is the core supervisor specification data returned by druid supervisor APIs.
InputFormat specifies kafka messages format type and describes any conversions applied to the input data while parsing.
InputIngestionSpec is the root-level type defining an ingestion spec used by Apache Druid.
InputSource is a specification of the storage system where input data is stored.
IOConfig influences how data is read into Druid from a source system.
MapStringDynamicConfigProvider passes config values as a <key, value> map.
MetadataStorageUpdaterJobSpec is a specification of endpoint for HadoopIOConfig.
Metric is a Druid aggregator that is applied at ingestion time.
OutputIngestionSpec is full supervisor specification format returned by druid supervisor APIs.
QueryGranularity is a typed representation of query granularity.
QueryGranularitySpec is an umbrella type for different representations of query granularity, can be string or QueryGranularity value.
No description provided by the author
No description provided by the author
RunningTask defines running task returned by GetRunningTasks method.
RunningTasksOptions defines supported options which can be passed to GetRunningTasks method.
No description provided by the author
ShutdownTaskResponse is a response object of Druid SupervisorService's Terminate method.
SpatialDimension represents single spatial dimension datum.
No description provided by the author
StringEncodingStrategy type for specifying string encoding at indexing stage.
SubmitTaskResponse is a response object of Druid Task API Submit task method.
SupervisorAuditHistory is audit data for supervisor reurned by supervisor audit history APIs.
SupervisorService is a service that submits ingestion tasks to druid supervisor API.
SupervisorState is a short form of supervisor state returned by druid APIs.
No description provided by the author
SupervisorStatus is a response object containing status of a supervisor alongside with the response metadata.
SupervisorStatusPayload is an object representing the status of supervisor.
TaskIngestionSpec is a specification for a druid task execution.
TaskLocation holds location of the task execution.
TasksService is a service that runs requests to druid tasks API.
TaskStatus is an object representing status of a druid task.
TaskStatusResponse is a response object containing status of a task.
TerminateSupervisorResponse is a response object of Druid SupervisorService's Terminate method.
TimestampSpec is responsible for configuring the primary timestamp.
Transform defines a single filed transformation of the TransformSpec.
TransformSpec is responsible for transforming druid input data after it was read from kafka and after flattenSpec was applied.
TuningConfig controls various tuning parameters specific to each ingestion method.
# Type aliases
No description provided by the author
DimensionExclusionsSet represents set of excluded dimensions.
DimensionSet is a unique set of druid datasource dimensions(labels).
FieldList is a list of Fields for ingestion FlattenSpec.
No description provided by the author
IngestionSpecOptions allows for configuring a InputIngestionSpec.
No description provided by the author
SpatialDimensionSet is a unique set of druid datasource spatial dimensions.
TaskIngestionSpecOptions allows for configuring a TaskIngestionSpec.
TransformSet is a unique set of transforms applied to the input.