MCPcopy
hub / github.com/apache/druid

github.com/apache/druid @druid-37.0.0 sqlite

repository ↗ · DeepWiki ↗ · release druid-37.0.0 ↗
95,101 symbols 574,375 edges 9,599 files 11,609 documented · 12%
README

Coverage Status Docker Helm

Workflow Status
⚙️ CodeQL Config codeql-config
🔍 CodeQL codeql
🕒 Cron Job ITS cron-job-its
🏷️ Labeler labeler
🛠️ Static Checks static-checks
🧪 Unit and Integration Tests Unified unit-and-integration-tests-unified

Website Twitter Download Get Started Documentation Community Build Contribute License


Apache Druid

Druid is a high performance real-time analytics database. Druid's main value add is to reduce time to insight and action.

Druid is designed for workflows where fast queries and ingest really matter. Druid excels at powering UIs, running operational (ad-hoc) queries, or handling high concurrency. Consider Druid as an open source alternative to data warehouses for a variety of use cases. The design documentation explains the key concepts.

Getting started

You can get started with Druid with our local or Docker quickstart. For Kubernetes deployments, the druid-operator is maintained in a separate repository.

Druid provides a rich set of APIs (via HTTP and JDBC) for loading, managing, and querying your data. You can also interact with Druid via the built-in web console (shown below).

Load data

data loader Kafka

Load streaming and batch data using a point-and-click wizard to guide you through ingestion setup. Monitor one off tasks and ingestion supervisors.

Manage the cluster

management

Manage your cluster with ease. Get a view of your datasources, segments, ingestion tasks, and services from one convenient location. All powered by SQL systems tables, allowing you to see the underlying query for each view.

Issue queries

query view combo

Use the built-in query workbench to prototype DruidSQL and native queries or connect one of the many tools that help you make the most out of Druid.

Documentation

See the latest documentation for the documentation for the current official release. If you need information on a previous release, you can browse previous releases documentation.

Make documentation and tutorials updates in /docs using Markdown or extended Markdown (MDX). Then, open a pull request.

To build the site locally, you need Node 18 or higher and to install Docusaurus 3 with npm|yarn install in the website directory. Then you can run npm|yarn start to launch a local build of the docs.

If you're looking to update non-doc pages like Use Cases, those files are in the druid-website-src repo.

For more information, see the README in the ./website directory.

Community

Visit the official project community page to read about getting involved in contributing to Apache Druid, and how we help one another use and operate Druid.

  • Druid users can find help in the druid-user mailing list on Google Groups, and have more technical conversations in #troubleshooting on Slack.
  • Druid development discussions take place in the druid-dev mailing list (dev@druid.apache.org). Subscribe by emailing dev-subscribe@druid.apache.org. For live conversations, join the #dev channel on Slack.

Check out the official community page for details of how to join the community Slack channels.

Find articles written by community members and a calendar of upcoming events on the project site - contribute your own events and articles by submitting a PR in the apache/druid-website-src repository.

Building from source

Please note that JDK 17 or JDK 21 is required to build Druid.

See the latest build guide for instructions on building Apache Druid from source.

Contributing

Please follow the community guidelines for contributing.

For instructions on setting up IntelliJ dev/intellij-setup.md

License

Apache License, Version 2.0

Extension points exported contracts — how you extend this code

LagAggregator (Interface)
Calculates the maximum, average and total values of lag from the values of lag for each stream partition for a given sup [242 …
indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/LagAggregator.java
QueryVerifyStep (Interface)
Test step that verifies some aspect of a query. [23 implementers]
sql/src/test/java/org/apache/druid/sql/calcite/QueryTestRunner.java
EmbeddedResource (Interface)
Represents any resource outside Druid used by an EmbeddedDruidCluster. Cluster start and stop triggers {@link #s [16 implementers]
services/src/test/java/org/apache/druid/testing/embedded/EmbeddedResource.java
DeltaFilter (Interface)
Druid filters that translate to the underlying Delta Kernel Predicates. Implementations should provide an expres [16 implementers]
extensions-contrib/druid-deltalake-extensions/src/main/java/org/apache/druid/delta/filter/DeltaFilter.java
ObjBiIntConsumer (Interface)
Represents an operation that accepts an object-valued and two int-valued arguments, and returns no result. This is the ( [21 …
extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/ObjBiIntConsumer.java
MovingAverageQueryMetricsFactory (Interface)
Implementations could be injected using PolyBind .optionBinder(binder, Key.get(MovingAverageQueryMetricsFactory.clas [20 …
extensions-contrib/moving-average-query/src/main/java/org/apache/druid/query/movingaverage/MovingAverageQueryMetricsFactory.java
IcebergFilter (Interface)
Interface to manage iceberg expressions which can be used to perform filtering on the iceberg table [14 implementers]
extensions-contrib/druid-iceberg-extensions/src/main/java/org/apache/druid/iceberg/filter/IcebergFilter.java
ServiceAnnouncer (Interface)
This class is deprecated, Add service to org.apache.druid.discovery.DruidNodeAnnouncer node announcement instead [6 implementers]
server/src/main/java/org/apache/druid/curator/discovery/ServiceAnnouncer.java

Core symbols most depended-on inside this repo

put
called by 7146
server/src/main/java/org/apache/druid/client/cache/Cache.java
size
called by 5802
processing/src/main/java/org/apache/druid/segment/data/Indexed.java
equals
called by 4816
processing/src/main/java/org/apache/druid/segment/column/TypeStrategy.java
get
called by 4058
server/src/main/java/org/apache/druid/client/cache/Cache.java
add
called by 4017
processing/src/main/java/org/apache/druid/segment/column/BitmapIndexType.java
build
called by 3725
services/src/test/java/org/apache/druid/testing/embedded/EmbeddedClusterApis.java
add
called by 3306
server/src/main/java/org/apache/druid/segment/realtime/appenderator/Appenderator.java
of
called by 3051
processing/src/main/java/org/apache/druid/java/util/common/Intervals.java

Shape

Method 81,683
Class 10,780
Interface 1,414
Function 999
Enum 225

Languages

Java97%
TypeScript3%
Python1%

Modules by API surface

sql/src/test/java/org/apache/druid/sql/calcite/DrillWindowQueryTest.java1,059 symbols
processing/src/main/java/org/apache/druid/math/expr/Function.java634 symbols
sql/src/test/java/org/apache/druid/sql/calcite/CalciteQueryTest.java440 symbols
processing/src/test/java/org/apache/druid/query/groupby/GroupByQueryRunnerTest.java227 symbols
indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/SeekableStreamSupervisor.java189 symbols
sql/src/test/java/org/apache/druid/sql/calcite/CalciteNestedDataQueryTest.java178 symbols
sql/src/test/java/org/apache/druid/sql/calcite/CalciteArraysQueryTest.java165 symbols
processing/src/main/java/org/apache/druid/math/expr/vector/VectorMathProcessors.java159 symbols
processing/src/test/java/org/apache/druid/query/topn/TopNQueryRunnerTest.java136 symbols
processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java133 symbols
sql/src/test/java/org/apache/druid/sql/calcite/util/SqlTestFramework.java131 symbols
server/src/test/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinatorTest.java129 symbols

Dependencies from manifests, versioned

at.yawk.lz4:lz4-java1.10.2 · 1×
com.aliyun.oss:aliyun-sdk-oss3.11.3 · 1×
com.amazonaws:aws-java-sdk-logs
com.amazonaws:aws-java-sdk-s3
com.amazonaws:elasticache-java-cluster-client1.2.0 · 1×
com.azure:azure-core
com.azure:azure-identity
com.azure:azure-sdk-bom1.2.30 · 1×
com.azure:azure-storage-blob
com.azure:azure-storage-blob-batch
com.azure:azure-storage-common
com.carrotsearch:junit-benchmarks0.7.2 · 1×

Datastores touched

(mysql)Database · 1 repos
druidDatabase · 1 repos
druidDatabase · 1 repos
dbDatabase · 1 repos
dbDatabase · 1 repos
my_data_baseDatabase · 1 repos
schemaDatabase · 1 repos

For agents

$ claude mcp add druid \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact