Apache Druid: a high performance real-time analytics database.
Go to file
imply-cheddar aaa6cc1883
Make the tasks run with only a single directory (#14063)
* Make the tasks run with only a single directory

There was a change that tried to get indexing to run on multiple disks
It made a bunch of changes to how tasks run, effectively hiding the
"safe" directory for tasks to write files into from the task code itself
making it extremely difficult to do anything correctly inside of a task.

This change reverts those changes inside of the tasks and makes it so that
only the task runners are the ones that make decisions about which
mount points should be used for storing task-related files.

It adds the config druid.worker.baseTaskDirs which can be used by the
task runners to know which directories they should schedule tasks inside of.
The TaskConfig remains the authoritative source of configuration for where
and how an individual task should be operating.
2023-04-13 00:45:02 -07:00
.github Separate web-checks from static-checks to improve build time (#14071) 2023-04-12 20:17:03 -07:00
.idea revert .idea/misc.xml changes (#14044) 2023-04-06 17:45:03 -07:00
benchmarks Bump up the version in pom to 27.0.0 in preparation of release (#14051) 2023-04-10 14:56:59 +05:30
cloud Make GCP initialization truly lazy (#14077) 2023-04-12 23:10:50 -07:00
codestyle Removing the forbidden check on getOrDefault due to java8 incompatibility. (#13920) 2023-03-11 09:49:32 +05:30
dev Document our conventions for writing messages (#13916) 2023-04-03 21:30:20 -07:00
distribution Bump up the version in pom to 27.0.0 in preparation of release (#14051) 2023-04-10 14:56:59 +05:30
docs Make the tasks run with only a single directory (#14063) 2023-04-13 00:45:02 -07:00
examples Make the tasks run with only a single directory (#14063) 2023-04-13 00:45:02 -07:00
extensions-contrib Make the tasks run with only a single directory (#14063) 2023-04-13 00:45:02 -07:00
extensions-core Make GCP initialization truly lazy (#14077) 2023-04-12 23:10:50 -07:00
helm/druid helm: Add serviceAccounts, rbac, and small fixes (#13747) 2023-02-23 11:42:03 +05:30
hooks Git hooks should fail on errors; pass args to git hooks (#12322) 2022-03-10 09:07:50 +09:00
indexing-hadoop Bump up the version in pom to 27.0.0 in preparation of release (#14051) 2023-04-10 14:56:59 +05:30
indexing-service Make the tasks run with only a single directory (#14063) 2023-04-13 00:45:02 -07:00
integration-tests MSQ: Support multiple result columns with the same name. (#14025) 2023-04-13 11:09:39 +05:30
integration-tests-ex Bump up the version in pom to 27.0.0 in preparation of release (#14051) 2023-04-10 14:56:59 +05:30
licenses Web console: use EXTEND syntax (#13985) 2023-03-29 16:19:49 -07:00
processing adjust useSchemaDiscovery to also include the behavior of includeAllDimensions to support partial schema declaration without having to set two flags (#14076) 2023-04-12 23:12:49 -07:00
publications De-incubation cleanup in code, docs, packaging (#9108) 2020-01-03 12:33:19 -05:00
server Make the tasks run with only a single directory (#14063) 2023-04-13 00:45:02 -07:00
services Make the tasks run with only a single directory (#14063) 2023-04-13 00:45:02 -07:00
sql Input source security sql layer can handle input source with multiple types (#14050) 2023-04-10 09:48:57 -04:00
web-console Bump up the version in pom to 27.0.0 in preparation of release (#14051) 2023-04-10 14:56:59 +05:30
website Bump up the version in pom to 27.0.0 in preparation of release (#14051) 2023-04-10 14:56:59 +05:30
.asf.yaml Add .asf.yaml. (#9083) 2019-12-20 16:45:38 -08:00
.backportrc.json Add 0.18.0 to .backportrc.json to facilitate backport. (#9661) 2020-04-11 13:49:04 -07:00
.codecov.yml Use Codecov (#8388) 2019-08-28 08:49:30 -07:00
.dockerignore Add docker container for druid (#6896) 2019-02-08 12:12:28 +00:00
.gitignore Tuple sketch SQL support (#13887) 2023-03-28 18:47:12 +05:30
.lgtm.yml be consistent about referring to the web console by its name (#13118) 2022-09-19 15:02:17 -07:00
CONTRIBUTING.md Document our conventions for writing messages (#13916) 2023-04-03 21:30:20 -07:00
LABELS Fixing security vulnerability check errors (#13956) 2023-03-23 11:10:06 +05:30
LICENSE merge druid-core, extendedset, and druid-hll into druid-processing to simplify everything (#13698) 2023-02-17 14:27:41 -08:00
NOTICE Update year in the notice file and the release process instructions (#12622) 2022-08-23 18:17:18 +05:30
README.md Fix broken shields (#14015) 2023-04-04 09:41:53 +05:30
README.template De-incubation cleanup in code, docs, packaging (#9108) 2020-01-03 12:33:19 -05:00
check_test_suite.py remove Travis CI (#13789) 2023-02-10 01:46:56 -08:00
check_test_suite_test.py remove Travis CI (#13789) 2023-02-10 01:46:56 -08:00
it.sh Using MinIO to run S3DeepStorage ITs (#13997) 2023-03-30 12:15:53 -07:00
licenses.yaml Web console: use new sampler features (#14017) 2023-04-07 06:28:29 -07:00
owasp-dependency-check-suppressions.xml Fixing security vulnerability check errors (#13956) 2023-03-23 11:10:06 +05:30
pom.xml Use apache-jar-resource-bundle:1.5 instead of 1.5-SNAPSHOT (#14054) 2023-04-10 18:55:39 +05:30
upload.sh Adding licenses and enable apache-rat-plugin. (#6215) 2018-09-18 08:39:26 -07:00

README.md

Coverage Status Docker Helm

Workflow Status
⚙️ CodeQL Config codeql-config
🔍 CodeQL codeql
🕒 Cron Job ITS cron-job-its
🏷️ Labeler labeler
♻️ Reusable Revised ITS reusable-revised-its
♻️ Reusable Standard ITS reusable-standard-its
♻️ Reusable Unit Tests reusable-unit-tests
🔄 Revised ITS revised-its
🔧 Standard ITS standard-its
🛠️ Static Checks static-checks
🧪 Unit and Integration Tests Unified unit-and-integration-tests-unified
🔬 Unit Tests unit-tests

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.

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 and contribute them using a pull request.

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 8 or JDK 11 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