Skip to content

Commit

Permalink
Merge branch 'master' into join-filter-prune
Browse files Browse the repository at this point in the history
  • Loading branch information
gianm committed Nov 1, 2023
2 parents 6e32c5b + de557a6 commit a750e55
Show file tree
Hide file tree
Showing 14 changed files with 506 additions and 820 deletions.
7 changes: 6 additions & 1 deletion dev/style-conventions.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ While this page might discuss conventions that are also enforced via said mechan
discuss style-related convention that cannot be (or are extremely difficult to be) enforced through such automated
mechanisms.

## Message Formatting (Logs and Exceptions)
## Message formatting for logs and exceptions

The way that log and exception messages get formatted is an important part of a project. Specifically, it is
important that there is consistency in formatting such that someone can easily identify and interpret messages.
Expand All @@ -60,3 +60,8 @@ This consistency applies to both log *and* exception messages.
* Good: `log.info("Filter [%s] on column [%s] cannot be applied to type [%s]", "is not null", "null", "INTEGER")`
* After interpolation, clear separation: `"Filter [is not null] on column [null] cannot be applied to type [INTEGER]"`
* With interpolations removed, it is clear what happened, though still hard to figure out which specific thing to adjust: `"Filter on column cannot be applied to type"`


## Documentation style

For the majority of style considerations, the Apache Druid documentation follows the [Google Developer Documentation Style Guide](https://developers.google.com/style). For more details, see [Contribute to Druid docs](../docs/development/docs-contribute.md#style-guide).
927 changes: 431 additions & 496 deletions docs/configuration/index.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/design/coordinator.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: coordinator
title: "Coordinator Process"
title: "Coordinator service"
---

<!--
Expand All @@ -25,7 +25,7 @@ title: "Coordinator Process"

### Configuration

For Apache Druid Coordinator Process Configuration, see [Coordinator Configuration](../configuration/index.md#coordinator).
For Apache Druid Coordinator service configuration, see [Coordinator configuration](../configuration/index.md#coordinator).

For basic tuning guidance for the Coordinator process, see [Basic cluster tuning](../operations/basic-cluster-tuning.md#coordinator).

Expand Down
6 changes: 3 additions & 3 deletions docs/design/historical.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: historical
title: "Historical Process"
title: "Historical service"
---

<!--
Expand All @@ -25,9 +25,9 @@ title: "Historical Process"

### Configuration

For Apache Druid Historical Process Configuration, see [Historical Configuration](../configuration/index.md#historical).
For Apache Druid Historical service configuration, see [Historical configuration](../configuration/index.md#historical).

For basic tuning guidance for the Historical process, see [Basic cluster tuning](../operations/basic-cluster-tuning.md#historical).
For basic tuning guidance for the Historical service, see [Basic cluster tuning](../operations/basic-cluster-tuning.md#historical).

### HTTP endpoints

Expand Down
6 changes: 3 additions & 3 deletions docs/design/middlemanager.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: middlemanager
title: "MiddleManager Process"
title: "MiddleManager service"
---

<!--
Expand All @@ -25,9 +25,9 @@ title: "MiddleManager Process"

### Configuration

For Apache Druid MiddleManager Process Configuration, see [Indexing Service Configuration](../configuration/index.md#middlemanager-and-peons).
For Apache Druid MiddleManager service configuration, see [MiddleManager and Peons](../configuration/index.md#middlemanager-and-peons).

For basic tuning guidance for the MiddleManager process, see [Basic cluster tuning](../operations/basic-cluster-tuning.md#middlemanager).
For basic tuning guidance for the MiddleManager service, see [Basic cluster tuning](../operations/basic-cluster-tuning.md#middlemanager).

### HTTP endpoints

Expand Down
2 changes: 1 addition & 1 deletion docs/design/overlord.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: overlord
title: "Overlord Process"
title: "Overlord service"
---

<!--
Expand Down
42 changes: 40 additions & 2 deletions docs/development/docs-contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,47 @@ The docs go through a review process similar to the code where community members

## Style guide

Before publishing new content or updating an existing topic, audit your documentation using this checklist to make sure your contributions align with existing documentation.
Consistent style, formatting, and tone make documentation easier to consume.
For the majority of style considerations, the Apache Druid documentation follows the [Google Developer Documentation Style Guide](https://developers.google.com/style).
The style guide should serve as a point of reference to enable contributors and reviewers to maintain documentation quality.

Here are some general guidelines:
### Notable style exceptions

In some cases, Google Style might make the Druid docs more difficult to read and understand. This section highlights those exceptions.

#### SQL keyword syntax
For SQL keywords and functions, use all caps, but do not use code font.

:::tip

**Correct**

The UNNEST clause unnests array values.

**Incorrect**

The \`UNNEST\` clause unnests array values.
:::


#### Optional parameters and arguments

For optional parameters and arguments, enclose the optional parameter and leading command in brackets.

:::tip

**Correct**

HUMAN_READABLE_BINARY_BYTE_FORMAT(value[, precision])

**Incorrect**

HUMAN_READABLE_BINARY_BYTE_FORMAT(value, \[precision])
:::

### Style checklist

Before publishing new content or updating an existing topic, you can audit your documentation using the following checklist to make sure your contributions align with existing documentation:

* Use descriptive link text. If a link downloads a file, make sure to indicate this action.
* Use present tense where possible.
Expand Down
2 changes: 0 additions & 2 deletions docs/operations/security-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,8 +183,6 @@ the extension used in the examples above.
* [Kerberos](../development/extensions-core/druid-kerberos.md) for Kerberos authentication.
* [User authentication and authorization](security-user-auth.md) for details about permissions.
* [SQL permissions](security-user-auth.md#sql-permissions) for permissions on SQL system tables.
* [The `druidapi` Python library](../tutorials/tutorial-jupyter-index.md),
provided as part of the Druid tutorials, to set up users and roles for learning how security works.

## Enable authorizers

Expand Down
7 changes: 5 additions & 2 deletions docs/querying/tips-good-queries.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ sidebar_label: "Tips for writing good queries"
~ under the License.
-->

This topic includes tips and examples that can help you investigate and improve query performance and accuracy using [Apache Druid SQL](./sql.md). Use this topic as a companion to the Jupyter Notebook tutorial [Learn the basics of Druid SQL](https://github.com/apache/druid/blob/master/examples/quickstart/jupyter-notebooks/notebooks/03-query/00-using-sql-with-druidapi.ipynb).
This topic includes tips and examples that can help you investigate and improve query performance and accuracy using [Apache Druid SQL](./sql.md).

For an interactive tutorial on Druid SQL, see [Learn the basics of Druid SQL](https://github.com/implydata/learn-druid/tree/main/notebooks) within the [Learn Druid repo](https://github.com/implydata/learn-druid).

Your ability to effectively query your data depends in large part on the way you've ingested and stored the data in Apache Druid. This document assumes that you've followed the best practices described in [Schema design tips and best practices](../ingestion/schema-design.md#general-tips-and-best-practices) when modeling your data.

Expand Down Expand Up @@ -68,7 +70,8 @@ When possible, design your SQL queries in such a way that they match the rules f

Note that TopN queries are approximate in that each data process ranks its top K results and only returns those top K results to the Broker.

You can follow the tutorial [Using TopN approximation in Druid queries](https://github.com/apache/druid/blob/master/examples/quickstart/jupyter-notebooks/notebooks/03-query/02-approxRanking.ipynb) to work through some examples with approximation turned on and off. The tutorial [Get to know Query view](../tutorials/tutorial-sql-query-view.md) demonstrates running aggregate queries in the Druid console.
You can follow the tutorial [Using TopN approximation in Druid queries](https://github.com/implydata/learn-druid/tree/main/notebooks) within the [Learn Druid repo](https://github.com/implydata/learn-druid) to work through some examples with approximation turned on and off.
The tutorial [Get to know Query view](../tutorials/tutorial-sql-query-view.md) demonstrates running aggregate queries in the Druid console.

### Manually tune your queries

Expand Down
Loading

0 comments on commit a750e55

Please sign in to comment.