fix error format
This commit is contained in:
parent
2016dc6272
commit
6c639b8c36
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 数据格式
|
## 数据格式
|
||||||
Apache Druid可以接收JSON、CSV或TSV等分隔格式或任何自定义格式的非规范化数据。尽管文档中的大多数示例使用JSON格式的数据,但将Druid配置为接收任何其他分隔数据并不困难。我们欢迎对新格式的任何贡献。
|
Apache Druid可以接收JSON、CSV或TSV等分隔格式或任何自定义格式的非规范化数据。尽管文档中的大多数示例使用JSON格式的数据,但将Druid配置为接收任何其他分隔数据并不困难。我们欢迎对新格式的任何贡献。
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 数据管理
|
## 数据管理
|
||||||
|
|
||||||
### schema更新
|
### schema更新
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 数据摄取相关问题FAQ
|
## 数据摄取相关问题FAQ
|
||||||
### 实时摄取
|
### 实时摄取
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 基于Hadoop的摄入
|
## 基于Hadoop的摄入
|
||||||
|
|
||||||
Apache Druid当前支持通过一个Hadoop摄取任务来支持基于Apache Hadoop的批量索引任务, 这些任务被提交到 [Druid Overlord](../Design/Overlord.md)的一个运行实例上。详情可以查看 [基于Hadoop的摄取vs基于本地批摄取的对比](ingestion.md#批量摄取) 来了解基于Hadoop的摄取、本地简单批摄取、本地并行摄取三者的比较。
|
Apache Druid当前支持通过一个Hadoop摄取任务来支持基于Apache Hadoop的批量索引任务, 这些任务被提交到 [Druid Overlord](../Design/Overlord.md)的一个运行实例上。详情可以查看 [基于Hadoop的摄取vs基于本地批摄取的对比](ingestion.md#批量摄取) 来了解基于Hadoop的摄取、本地简单批摄取、本地并行摄取三者的比较。
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 数据摄入
|
## 数据摄入
|
||||||
### 综述
|
### 综述
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## Apache Kafka 摄取数据
|
## Apache Kafka 摄取数据
|
||||||
|
|
||||||
Kafka索引服务支持在Overlord上配置*supervisors*,supervisors通过管理Kafka索引任务的创建和生存期来便于从Kafka摄取数据。这些索引任务使用Kafka自己的分区和偏移机制读取事件,因此能够保证只接收一次(**exactly-once**)。supervisor监视索引任务的状态,以便于协调切换、管理故障,并确保维护可伸缩性和复制要求。
|
Kafka索引服务支持在Overlord上配置*supervisors*,supervisors通过管理Kafka索引任务的创建和生存期来便于从Kafka摄取数据。这些索引任务使用Kafka自己的分区和偏移机制读取事件,因此能够保证只接收一次(**exactly-once**)。supervisor监视索引任务的状态,以便于协调切换、管理故障,并确保维护可伸缩性和复制要求。
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 本地批摄入
|
## 本地批摄入
|
||||||
|
|
||||||
Apache Druid当前支持两种类型的本地批量索引任务, `index_parallel` 可以并行的运行多个任务, `index`运行单个索引任务。 详情可以查看 [基于Hadoop的摄取vs基于本地批摄取的对比](ingestion.md#批量摄取) 来了解基于Hadoop的摄取、本地简单批摄取、本地并行摄取三者的比较。
|
Apache Druid当前支持两种类型的本地批量索引任务, `index_parallel` 可以并行的运行多个任务, `index`运行单个索引任务。 详情可以查看 [基于Hadoop的摄取vs基于本地批摄取的对比](ingestion.md#批量摄取) 来了解基于Hadoop的摄取、本地简单批摄取、本地并行摄取三者的比较。
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## Schema设计
|
## Schema设计
|
||||||
### Druid数据模型
|
### Druid数据模型
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 任务参考文档
|
## 任务参考文档
|
||||||
|
|
||||||
任务在Druid中完成所有与 [摄取](ingestion.md) 相关的工作。
|
任务在Druid中完成所有与 [摄取](ingestion.md) 相关的工作。
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## Broker
|
## Broker
|
||||||
### 配置
|
### 配置
|
||||||
对于Apache Druid Broker的配置,请参见 [Broker配置](../Configuration/configuration.md#Broker)
|
对于Apache Druid Broker的配置,请参见 [Broker配置](../Configuration/configuration.md#Broker)
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## Coordinator进程
|
## Coordinator进程
|
||||||
### 配置
|
### 配置
|
||||||
对于Apache Druid的Coordinator进程配置,详见 [Coordinator配置](../Configuration/configuration.md#Coordinator)
|
对于Apache Druid的Coordinator进程配置,详见 [Coordinator配置](../Configuration/configuration.md#Coordinator)
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 深度存储
|
## 深度存储
|
||||||
|
|
||||||
Apache Druid不提供的存储机制,深度存储是存储段的地方。深度存储基础结构定义了数据的持久性级别,只要Druid进程能够看到这个存储基础结构并获得存储在上面的段,那么无论丢失多少Druid节点,都不会丢失数据。如果段在深度存储层消失了,则这些段中存储的任何数据都将丢失。
|
Apache Druid不提供的存储机制,深度存储是存储段的地方。深度存储基础结构定义了数据的持久性级别,只要Druid进程能够看到这个存储基础结构并获得存储在上面的段,那么无论丢失多少Druid节点,都不会丢失数据。如果段在深度存储层消失了,则这些段中存储的任何数据都将丢失。
|
||||||
|
|
|
@ -21,6 +21,18 @@ Druid进程可以按照您喜欢的方式部署,但是为了便于部署,我
|
||||||
|
|
||||||
关于进程和服务组织的更多信息,可以查看[Druid进程与服务](Processes.md)
|
关于进程和服务组织的更多信息,可以查看[Druid进程与服务](Processes.md)
|
||||||
|
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
### 外部依赖
|
### 外部依赖
|
||||||
除了内置的进程类型外,Druid同时有三个外部依赖,它们旨在利用现有的基础设施(如果有的话)。
|
除了内置的进程类型外,Druid同时有三个外部依赖,它们旨在利用现有的基础设施(如果有的话)。
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## Historical
|
## Historical
|
||||||
### 配置
|
### 配置
|
||||||
对于Apache Druid Historical的配置,请参见 [Historical配置](../Configuration/configuration.md#Historical)
|
对于Apache Druid Historical的配置,请参见 [Historical配置](../Configuration/configuration.md#Historical)
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## Indexer
|
## Indexer
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 元数据存储
|
## 元数据存储
|
||||||
|
|
||||||
元数据存储是Apache Druid的一个外部依赖。Druid使用它来存储系统的各种元数据,但不存储实际的数据。下面有许多用于各种目的的表。
|
元数据存储是Apache Druid的一个外部依赖。Druid使用它来存储系统的各种元数据,但不存储实际的数据。下面有许多用于各种目的的表。
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## MiddleManager进程
|
## MiddleManager进程
|
||||||
### 配置
|
### 配置
|
||||||
对于Apache Druid MiddleManager配置,可以参见[索引服务配置](../Configuration/configuration.md#MiddleManager)
|
对于Apache Druid MiddleManager配置,可以参见[索引服务配置](../Configuration/configuration.md#MiddleManager)
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## Overload进程
|
## Overload进程
|
||||||
### 配置
|
### 配置
|
||||||
对于Apache Druid的Overlord进程配置,详见 [Overlord配置](../Configuration/configuration.md#Overlord)
|
对于Apache Druid的Overlord进程配置,详见 [Overlord配置](../Configuration/configuration.md#Overlord)
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## Peons
|
## Peons
|
||||||
### 配置
|
### 配置
|
||||||
对于Apache Druid Peon配置,可以参见 [Peon查询配置](../Configuration/configuration.md) 和 [额外的Peon配置](../Configuration/configuration.md)
|
对于Apache Druid Peon配置,可以参见 [Peon查询配置](../Configuration/configuration.md) 和 [额外的Peon配置](../Configuration/configuration.md)
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 进程和服务
|
## 进程和服务
|
||||||
### 进程类型
|
### 进程类型
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
### Router
|
### Router
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 段
|
## 段
|
||||||
ApacheDruid将索引存储在按时间分区的*段文件*中。在基本设置中,通常为每个时间间隔创建一个段文件,其中时间间隔可在 `granularitySpec` 的`segmentGranularity` 参数中配置。为了使Druid在繁重的查询负载下运行良好,段文件大小必须在建议的300MB-700MB范围内。如果段文件大于此范围,请考虑更改时间间隔的粒度,或者对数据进行分区,并在 `partitionsSpec` 中调整 `targetPartitionSize`(此参数的建议起点是500万行)。有关更多信息,请参阅下面的**分片部分**和[批处理摄取](../DataIngestion/native.md)文档的**分区规范**部分。
|
ApacheDruid将索引存储在按时间分区的*段文件*中。在基本设置中,通常为每个时间间隔创建一个段文件,其中时间间隔可在 `granularitySpec` 的`segmentGranularity` 参数中配置。为了使Druid在繁重的查询负载下运行良好,段文件大小必须在建议的300MB-700MB范围内。如果段文件大于此范围,请考虑更改时间间隔的粒度,或者对数据进行分区,并在 `partitionsSpec` 中调整 `targetPartitionSize`(此参数的建议起点是500万行)。有关更多信息,请参阅下面的**分片部分**和[批处理摄取](../DataIngestion/native.md)文档的**分区规范**部分。
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## ZooKeeper
|
## ZooKeeper
|
||||||
|
|
||||||
Apache Druid使用[Apache ZooKeeper](http://zookeeper.apache.org/) 来管理整个集群状态。通过ZK来进行的操作有:
|
Apache Druid使用[Apache ZooKeeper](http://zookeeper.apache.org/) 来管理整个集群状态。通过ZK来进行的操作有:
|
||||||
|
|
|
@ -5,6 +5,17 @@
|
||||||
|
|
||||||
在开始快速启动之前,阅读 [Druid概述](chapter-1.md) 和 [摄取概述](../DataIngestion/ingestion.md) 是很有帮助的,因为教程将参考这些页面上讨论的概念。此外,建议熟悉Docker。
|
在开始快速启动之前,阅读 [Druid概述](chapter-1.md) 和 [摄取概述](../DataIngestion/ingestion.md) 是很有帮助的,因为教程将参考这些页面上讨论的概念。此外,建议熟悉Docker。
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
### 前提条件
|
### 前提条件
|
||||||
|
|
||||||
* Docker
|
* Docker
|
||||||
|
|
|
@ -84,6 +84,7 @@ $ ./bin/start-micro-quickstart
|
||||||
|
|
||||||
所有Druid进程完全启动需要花费几秒钟。 如果在启动服务后立即打开控制台,则可能会看到一些可以安全忽略的错误。
|
所有Druid进程完全启动需要花费几秒钟。 如果在启动服务后立即打开控制台,则可能会看到一些可以安全忽略的错误。
|
||||||
|
|
||||||
|
(以下为广告,请见谅)
|
||||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
<ins class="adsbygoogle"
|
<ins class="adsbygoogle"
|
||||||
style="display:block; text-align:center;"
|
style="display:block; text-align:center;"
|
||||||
|
@ -94,6 +95,7 @@ $ ./bin/start-micro-quickstart
|
||||||
<script>
|
<script>
|
||||||
(adsbygoogle = window.adsbygoogle || []).push({});
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
#### 加载数据
|
#### 加载数据
|
||||||
##### 教程使用的数据集
|
##### 教程使用的数据集
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,18 @@ Druid包括一组参考配置和用于单机部署的启动脚本:
|
||||||
|
|
||||||
虽然为大型单台计算机提供了示例配置,但在更高规模下,我们建议在集群部署中运行Druid,以实现容错和减少资源争用。
|
虽然为大型单台计算机提供了示例配置,但在更高规模下,我们建议在集群部署中运行Druid,以实现容错和减少资源争用。
|
||||||
|
|
||||||
|
(以下为广告,请见谅)
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
#### 单服务器参考配置
|
#### 单服务器参考配置
|
||||||
##### Nano-Quickstart: 1 CPU, 4GB 内存
|
##### Nano-Quickstart: 1 CPU, 4GB 内存
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,17 @@ Apache Druid旨在作为可伸缩的容错集群进行部署。
|
||||||
|
|
||||||
在生产中,我们建议根据您的特定容错需求部署多个Master服务器和多个Query服务器,但是您可以使用一台Master服务器和一台Query服务器将服务快速运行起来,然后再添加更多服务器。
|
在生产中,我们建议根据您的特定容错需求部署多个Master服务器和多个Query服务器,但是您可以使用一台Master服务器和一台Query服务器将服务快速运行起来,然后再添加更多服务器。
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
### 选择硬件
|
### 选择硬件
|
||||||
#### 首次部署
|
#### 首次部署
|
||||||
|
|
||||||
|
@ -99,6 +110,17 @@ Query服务的硬件选择主要考虑可用的CPU、Broker服务的堆内和堆
|
||||||
|
|
||||||
[基本集群调优指南](../Operations/basicClusterTuning.md)包含有关如何计算Broker和Router服务内存使用量的信息。
|
[基本集群调优指南](../Operations/basicClusterTuning.md)包含有关如何计算Broker和Router服务内存使用量的信息。
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
### 选择操作系统
|
### 选择操作系统
|
||||||
|
|
||||||
我们建议运行您喜欢的Linux发行版,同时还需要:
|
我们建议运行您喜欢的Linux发行版,同时还需要:
|
||||||
|
|
|
@ -5,6 +5,17 @@
|
||||||
|
|
||||||
出现在API请求和响应中的"datasource"一般拼写为 `dataSource` ,注意是大写的S。
|
出现在API请求和响应中的"datasource"一般拼写为 `dataSource` ,注意是大写的S。
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
### 数据源类型
|
### 数据源类型
|
||||||
#### `table`
|
#### `table`
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,20 @@
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> Apache Druid支持两种查询语言: Druid SQL和 [原生查询](makeNativeQueries.md)。本文档讲述SQL查询。
|
> Apache Druid支持两种查询语言: Druid SQL和 [原生查询](makeNativeQueries.md)。本文档讲述SQL查询。
|
||||||
|
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Druid SQL是一个内置的SQL层,是Druid基于JSON的本地查询语言的替代品,它由基于 [Apache Calcite](https://calcite.apache.org/) 的解析器和规划器提供支持。Druid SQL将SQL转换为查询Broker(查询的第一个进程)上的原生Druid查询,然后作为原生Druid查询传递给数据进程。除了在Broker上 [转换SQL](查询翻译) 的(轻微)开销之外,与原生查询相比,没有额外的性能损失。
|
Druid SQL是一个内置的SQL层,是Druid基于JSON的本地查询语言的替代品,它由基于 [Apache Calcite](https://calcite.apache.org/) 的解析器和规划器提供支持。Druid SQL将SQL转换为查询Broker(查询的第一个进程)上的原生Druid查询,然后作为原生Druid查询传递给数据进程。除了在Broker上 [转换SQL](查询翻译) 的(轻微)开销之外,与原生查询相比,没有额外的性能损失。
|
||||||
|
|
||||||
### 查询符号
|
### 查询符号
|
||||||
|
|
|
@ -9,6 +9,20 @@
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> 如果您正在使用时间作为唯一的分组进行聚合,或者在单个维度上使用有序的GroupBy,请考虑 [Timeseries](timeseriesquery.md) 和 [TopN](topn.md) 查询以及GroupBy。在某些情况下,他们的表现可能会更好。更多详细信息,请参阅下面的[备选方案](#备选方案)。
|
> 如果您正在使用时间作为唯一的分组进行聚合,或者在单个维度上使用有序的GroupBy,请考虑 [Timeseries](timeseriesquery.md) 和 [TopN](topn.md) 查询以及GroupBy。在某些情况下,他们的表现可能会更好。更多详细信息,请参阅下面的[备选方案](#备选方案)。
|
||||||
|
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
GroupBy查询对象的示例如下所示:
|
GroupBy查询对象的示例如下所示:
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,6 +18,18 @@ Lookups没有历史记录,总是使用当前的数据。这意味着,如果
|
||||||
* 来自本地文件、远程URI或JDBC的全局缓存Lookup,使用 [lookups-cached-global扩展](../Configuration/core-ext/lookups-cached-global.md)
|
* 来自本地文件、远程URI或JDBC的全局缓存Lookup,使用 [lookups-cached-global扩展](../Configuration/core-ext/lookups-cached-global.md)
|
||||||
* 来自Kafka Topic的全局缓存Lookup,使用 [ kafka-extraction-namespace扩展](../Configuration/core-ext/kafka-extraction-namespace.md)
|
* 来自Kafka Topic的全局缓存Lookup,使用 [ kafka-extraction-namespace扩展](../Configuration/core-ext/kafka-extraction-namespace.md)
|
||||||
|
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
### 查询符号
|
### 查询符号
|
||||||
|
|
||||||
在[Druid SQL](druidsql.md) 中,Lookups可以使用 [`LOOKUP`函数](druidsql.md#字符串函数) 来进行查询,例如:
|
在[Druid SQL](druidsql.md) 中,Lookups可以使用 [`LOOKUP`函数](druidsql.md#字符串函数) 来进行查询,例如:
|
||||||
|
|
|
@ -4,6 +4,20 @@
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> Apache Druid支持两种查询语言,[Druid SQL](druidsql.md) 和 [原生查询](#),该文档描述原生查询语言。有关Druid SQL如何选择运行SQL查询时要使用的原生查询类型的信息,请查看 [SQL文档](druidsql.md)。
|
> Apache Druid支持两种查询语言,[Druid SQL](druidsql.md) 和 [原生查询](#),该文档描述原生查询语言。有关Druid SQL如何选择运行SQL查询时要使用的原生查询类型的信息,请查看 [SQL文档](druidsql.md)。
|
||||||
|
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Druid中的原生查询是JSON对象,通常发送给Broker或Router进程。查询可以这样发布:
|
Druid中的原生查询是JSON对象,通常发送给Broker或Router进程。查询可以这样发布:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
|
@ -5,6 +5,17 @@ Apache Druid支持多值字符串维度。当输入字段中包括一个数组
|
||||||
|
|
||||||
本文档描述了对一个维度进行聚合时,多值维度上的GroupBy查询行为(TopN很类似)。对于多值维度的内部详细信息可以查看 [Segments](../Design/Segments.md) 文档的多值列部分。本文档中的示例都为 [原生Druid查询](makeNativeQueries.md)格式,对于多值维度在SQL中的使用情况请查阅 [Druid SQL 文档](druidsql.md)
|
本文档描述了对一个维度进行聚合时,多值维度上的GroupBy查询行为(TopN很类似)。对于多值维度的内部详细信息可以查看 [Segments](../Design/Segments.md) 文档的多值列部分。本文档中的示例都为 [原生Druid查询](makeNativeQueries.md)格式,对于多值维度在SQL中的使用情况请查阅 [Druid SQL 文档](druidsql.md)
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
### 查询多值维度
|
### 查询多值维度
|
||||||
|
|
||||||
假设,您已经有一个具有一个段的数据源,该段包含以下几行,其中 `tags`是一个多值维度。
|
假设,您已经有一个具有一个段的数据源,该段包含以下几行,其中 `tags`是一个多值维度。
|
||||||
|
|
|
@ -2,6 +2,17 @@
|
||||||
|
|
||||||
Apache Druid经常被用于支持面向用户的数据应用程序,其中多租户是一个重要的需求。本文概述了Druid的多租户存储和查询功能。
|
Apache Druid经常被用于支持面向用户的数据应用程序,其中多租户是一个重要的需求。本文概述了Druid的多租户存储和查询功能。
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
### 共享数据源还是每个租户一个数据源
|
### 共享数据源还是每个租户一个数据源
|
||||||
|
|
||||||
Druid中的数据源等价于关系型数据库中的表。 对于多租户场景,可以为每一个租户创建独立的数据源,也可以多个租户之间通过使用一个租户ID的维度来共享一个或者多个数据源。在决定走哪条路时,要考虑每一条路都有利弊。
|
Druid中的数据源等价于关系型数据库中的表。 对于多租户场景,可以为每一个租户创建独立的数据源,也可以多个租户之间通过使用一个租户ID的维度来共享一个或者多个数据源。在决定走哪条路时,要考虑每一条路都有利弊。
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 查询上下文
|
## 查询上下文
|
||||||
### 通用参数
|
### 通用参数
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 查询缓存
|
## 查询缓存
|
||||||
|
|
||||||
Apache Druid支持两种级别的结果缓存,分别是:段缓存和整个查询结果的缓存。缓存数据既可以存储在本地JVM堆内存中,也可以存储在一个外部的分布式kv存储中。在所有场景中,Druid的缓存是查询结果的缓存,唯一的差别是特定段的*部分结果*还是全部结果。 在所有情况下,只要数据发生变化,缓存即失效,Druid永远不会返回过期的结果。
|
Apache Druid支持两种级别的结果缓存,分别是:段缓存和整个查询结果的缓存。缓存数据既可以存储在本地JVM堆内存中,也可以存储在一个外部的分布式kv存储中。在所有场景中,Druid的缓存是查询结果的缓存,唯一的差别是特定段的*部分结果*还是全部结果。 在所有情况下,只要数据发生变化,缓存即失效,Druid永远不会返回过期的结果。
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 查询执行
|
## 查询执行
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## Scan查询
|
## Scan查询
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## Timeseries查询
|
## Timeseries查询
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## TopN查询
|
## TopN查询
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 加载本地文件
|
## 加载本地文件
|
||||||
|
|
||||||
本教程演示了如何使用Apache Druid的本地批量数据摄取来执行批文件加载。
|
本教程演示了如何使用Apache Druid的本地批量数据摄取来执行批文件加载。
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 编写一个摄取规范
|
## 编写一个摄取规范
|
||||||
|
|
||||||
本教程将指导读者定义摄取规范的过程,指出关键的注意事项和指导原则
|
本教程将指导读者定义摄取规范的过程,指出关键的注意事项和指导原则
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 输入数据变换
|
## 输入数据变换
|
||||||
|
|
||||||
本教程将演示如何使用转换规范在接收期间过滤和转换输入数据
|
本教程将演示如何使用转换规范在接收期间过滤和转换输入数据
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## Kerberized HDFS存储
|
## Kerberized HDFS存储
|
||||||
### Hadoop设置
|
### Hadoop设置
|
||||||
以下配置文件需要拷贝到Druid配置文件夹:
|
以下配置文件需要拷贝到Druid配置文件夹:
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 教程:从Kafka中加载流式数据
|
## 教程:从Kafka中加载流式数据
|
||||||
### 入门
|
### 入门
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 使用Apache Hadoop加载批数据
|
## 使用Apache Hadoop加载批数据
|
||||||
|
|
||||||
本教程向您展示如何使用远程Hadoop集群将数据文件加载到Apache Druid中。
|
本教程向您展示如何使用远程Hadoop集群将数据文件加载到Apache Druid中。
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 查询数据
|
## 查询数据
|
||||||
|
|
||||||
本教程将以Druid SQL和Druid的原生查询格式的示例演示如何在Apache Druid中查询数据。
|
本教程将以Druid SQL和Druid的原生查询格式的示例演示如何在Apache Druid中查询数据。
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## Roll-up
|
## Roll-up
|
||||||
|
|
||||||
Apache Druid可以通过roll-up在数据摄取阶段对原始数据进行汇总。 Roll-up是对选定列集的一级聚合操作,它可以减小存储数据的大小。
|
Apache Druid可以通过roll-up在数据摄取阶段对原始数据进行汇总。 Roll-up是对选定列集的一级聚合操作,它可以减小存储数据的大小。
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 配置数据保留规则
|
## 配置数据保留规则
|
||||||
|
|
||||||
本教程演示如何在数据源上配置保留规则,以设置要保留或删除的数据的时间间隔
|
本教程演示如何在数据源上配置保留规则,以设置要保留或删除的数据的时间间隔
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 数据更新
|
## 数据更新
|
||||||
本教程演示如何更新现有数据,同时展示覆盖(Overwrite)和追加(append)的两个方式。
|
本教程演示如何更新现有数据,同时展示覆盖(Overwrite)和追加(append)的两个方式。
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 合并段文件
|
## 合并段文件
|
||||||
|
|
||||||
本教程演示如何将现有段合并为较少但更大的段
|
本教程演示如何将现有段合并为较少但更大的段
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; text-align:center;"
|
||||||
|
data-ad-layout="in-article"
|
||||||
|
data-ad-format="fluid"
|
||||||
|
data-ad-client="ca-pub-8828078415045620"
|
||||||
|
data-ad-slot="7586680510"></ins>
|
||||||
|
<script>
|
||||||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||||
|
</script>
|
||||||
|
|
||||||
## 数据删除
|
## 数据删除
|
||||||
|
|
||||||
本教程演示如何删除数据
|
本教程演示如何删除数据
|
||||||
|
|
Loading…
Reference in New Issue