change spec

This commit is contained in:
liujianhuan 2020-03-30 13:51:43 +08:00
parent e7447cf2af
commit 6abf99787d
10 changed files with 38 additions and 36 deletions

View File

@ -134,7 +134,7 @@ $ ./bin/start-micro-quickstart
* [加载本地文件](../Tutorials/chapter-1.md) - 本教程演示了如何使用Druid的本地批处理摄取来执行批文件加载 * [加载本地文件](../Tutorials/chapter-1.md) - 本教程演示了如何使用Druid的本地批处理摄取来执行批文件加载
* [从Kafka加载流数据](../Tutorials/chapter-2.md) - 本教程演示了如何从Kafka主题加载流数据 * [从Kafka加载流数据](../Tutorials/chapter-2.md) - 本教程演示了如何从Kafka主题加载流数据
* [从Hadoop加载数据](../Tutorials/chapter-3.md) - 本教程演示了如何使用远程Hadoop集群执行批处理文件加载 * [从Hadoop加载数据](../Tutorials/chapter-3.md) - 本教程演示了如何使用远程Hadoop集群执行批处理文件加载
* [编写一个自己的数据摄取说明](../Tutorials/chapter-10.md) - 本教程演示了如何编写新的数据摄取说明并使用它来加载数据 * [编写一个自己的数据摄取规范](../Tutorials/chapter-10.md) - 本教程演示了如何编写新的数据摄取规范并使用它来加载数据
##### 重置集群状态 ##### 重置集群状态

View File

@ -20,7 +20,7 @@
* [数据更新](Tutorials/chapter-7.md) * [数据更新](Tutorials/chapter-7.md)
* [合并段文件](Tutorials/chapter-8.md) * [合并段文件](Tutorials/chapter-8.md)
* [删除数据](Tutorials/chapter-9.md) * [删除数据](Tutorials/chapter-9.md)
* [摄入配置说明](Tutorials/chapter-10.md) * [摄入配置规范](Tutorials/chapter-10.md)
* [转换输入数据](Tutorials/chapter-11.md) * [转换输入数据](Tutorials/chapter-11.md)
* [Kerberized HDFS存储](Tutorials/chapter-12.md) * [Kerberized HDFS存储](Tutorials/chapter-12.md)

View File

@ -4,11 +4,11 @@
本教程演示了如何使用Apache Druid的本地批量数据摄取来执行批文件加载。 本教程演示了如何使用Apache Druid的本地批量数据摄取来执行批文件加载。
在本教程中,我们假设您已经按照[快速入门](../GettingStarted/chapter-1.md)中的说明下载了Druid并使用`micro-quickstart`单机配置使其在本地计算机上运行。您不需要加载任何数据。 在本教程中,我们假设您已经按照[快速入门](../GettingStarted/chapter-1.md)中的规范下载了Druid并使用`micro-quickstart`单机配置使其在本地计算机上运行。您不需要加载任何数据。
Druid的数据加载是通过向Overlord服务提交*摄取任务说明*来启动。对于本教程我们将加载Wikipedia页面示例编辑数据。 Druid的数据加载是通过向Overlord服务提交*摄取任务规范*来启动。对于本教程我们将加载Wikipedia页面示例编辑数据。
*数据摄取任务说明*可以手动编写也可以通过Druid控制台里内置的数据加载器编写。数据加载器可以通过采样摄入的数据并配置各种摄入参数来帮助您生成*摄取任务说明*。数据加载器当前仅支持本地批处理提取将来的版本中将提供对流的支持包括存储在Apache Kafka和AWS Kinesis中的数据。目前只能通过手动书写摄入规范来进行流式摄入。 *数据摄取任务规范*可以手动编写也可以通过Druid控制台里内置的数据加载器编写。数据加载器可以通过采样摄入的数据并配置各种摄入参数来帮助您生成*摄取任务规范*。数据加载器当前仅支持本地批处理提取将来的版本中将提供对流的支持包括存储在Apache Kafka和AWS Kinesis中的数据。目前只能通过手动书写摄入规范来进行流式摄入。
我们提供了2015年9月12日起对Wikipedia进行编辑的示例以帮助您入门。 我们提供了2015年9月12日起对Wikipedia进行编辑的示例以帮助您入门。
@ -54,13 +54,13 @@ Druid的体系结构需要一个主时间列内部存储为名为__time的列
![](img-1/tutorial-batch-data-loader-07.png) ![](img-1/tutorial-batch-data-loader-07.png)
`Publish` 步骤中我们可以指定Druid中的数据源名称,让我们将此数据源命名为 `Wikipedia`。最后,单击 `Next` 来查看您的摄取说明 `Publish` 步骤中我们可以指定Druid中的数据源名称,让我们将此数据源命名为 `Wikipedia`。最后,单击 `Next` 来查看您的摄取规范
![](img-1/tutorial-batch-data-loader-08.png) ![](img-1/tutorial-batch-data-loader-08.png)
这就是您构建的说明,为了查看更改将如何更新说明是可以随意返回之前的步骤中进行更改,同样,您也可以直接编辑说明,并在前面的步骤中看到它。 这就是您构建的规范,为了查看更改将如何更新规范是可以随意返回之前的步骤中进行更改,同样,您也可以直接编辑规范,并在前面的步骤中看到它。
对摄取说明感到满意后,请单击 `Submit`,然后将创建一个数据摄取任务。 对摄取规范感到满意后,请单击 `Submit`,然后将创建一个数据摄取任务。
![](img-1/tutorial-batch-data-loader-09.png) ![](img-1/tutorial-batch-data-loader-09.png)
@ -84,7 +84,7 @@ Druid的体系结构需要一个主时间列内部存储为名为__time的列
### 使用spec加载数据通过控制台 ### 使用spec加载数据通过控制台
Druid的安装包中在 `quickstart/tutorial/wikipedia-index.json` 文件中包含了一个本地批摄入任务说明的示例。 为了方便我们在这里展示出来,该说明已经配置好读取 `quickstart/tutorial/wikiticker-2015-09-12-sampled.json.gz` 输入文件。 Druid的安装包中在 `quickstart/tutorial/wikipedia-index.json` 文件中包含了一个本地批摄入任务规范的示例。 为了方便我们在这里展示出来,该规范已经配置好读取 `quickstart/tutorial/wikiticker-2015-09-12-sampled.json.gz` 输入文件。
``` ```
{ {
@ -148,17 +148,17 @@ Druid的安装包中在 `quickstart/tutorial/wikipedia-index.json` 文件中包
} }
} }
``` ```
这份说明将创建一个命名为"wikipedia"的数据源。 这份规范将创建一个命名为"wikipedia"的数据源。
在"Tasks"页面,点击 `Submit task` 后选择 `Raw JSON task`, 在"Tasks"页面,点击 `Submit task` 后选择 `Raw JSON task`,
![](img-1/tutorial-batch-submit-task-01.png) ![](img-1/tutorial-batch-submit-task-01.png)
然后会在页面中弹出任务说明输入框,您可以在上面粘贴说明 然后会在页面中弹出任务规范输入框,您可以在上面粘贴规范
![](img-1/tutorial-batch-submit-task-02.png) ![](img-1/tutorial-batch-submit-task-02.png)
提交任务说明后,您可以按照上述相同的说明等待数据加载然后查询。 提交任务规范后,您可以按照上述相同的规范等待数据加载然后查询。
### 使用spec加载数据通过命令行 ### 使用spec加载数据通过命令行
@ -184,7 +184,7 @@ Task finished with status: SUCCESS
Completed indexing data for wikipedia. Now loading indexed data onto the cluster... Completed indexing data for wikipedia. Now loading indexed data onto the cluster...
wikipedia loading complete! You may now query your data wikipedia loading complete! You may now query your data
``` ```
提交任务说明后,您可以按照上述相同的说明等待数据加载然后查询。 提交任务规范后,您可以按照上述相同的规范等待数据加载然后查询。
### 不使用脚本来加载数据 ### 不使用脚本来加载数据

View File

@ -1,3 +1,5 @@
<!-- toc --> <!-- toc -->
## 编写一个摄取说明 ## 编写一个摄取规范
本教程将指导读者定义摄取规范的过程,指出关键的注意事项和指导原则

View File

@ -94,13 +94,13 @@ Druid的体系结构需要一个主时间列内部存储为名为__time的列
我们将该数据源命名为 `wikipedia-kafka` 我们将该数据源命名为 `wikipedia-kafka`
最后点击 `Next` 预览摄入说明 最后点击 `Next` 预览摄入规范
![](img-2/tutorial-kafka-data-loader-09.png) ![](img-2/tutorial-kafka-data-loader-09.png)
这就是您构建的说明,为了查看更改将如何更新说明是可以随意返回之前的步骤中进行更改,同样,您也可以直接编辑说明,并在前面的步骤中看到它。 这就是您构建的规范,为了查看更改将如何更新规范是可以随意返回之前的步骤中进行更改,同样,您也可以直接编辑规范,并在前面的步骤中看到它。
对摄取说明感到满意后,请单击 `Submit`,然后将创建一个数据摄取任务 对摄取规范感到满意后,请单击 `Submit`,然后将创建一个数据摄取任务
![](img-2/tutorial-kafka-data-loader-10.png) ![](img-2/tutorial-kafka-data-loader-10.png)
@ -129,7 +129,7 @@ Druid的体系结构需要一个主时间列内部存储为名为__time的列
![](img-2/tutorial-kafka-submit-supervisor-01.png) ![](img-2/tutorial-kafka-submit-supervisor-01.png)
粘贴以下说明后点击 `Submit` 粘贴以下规范后点击 `Submit`
``` ```
{ {
@ -196,7 +196,7 @@ Druid的体系结构需要一个主时间列内部存储为名为__time的列
#### 直接提交supervisor #### 直接提交supervisor
为了直接启动服务我们可以在Druid的根目录下运行以下命令来提交一个supervisor说明到Druid Overlord中 为了直接启动服务我们可以在Druid的根目录下运行以下命令来提交一个supervisor规范到Druid Overlord中
``` ```
curl -XPOST -H'Content-Type: application/json' -d @quickstart/tutorial/wikipedia-kafka-supervisor.json http://localhost:8081/druid/indexer/v1/supervisor curl -XPOST -H'Content-Type: application/json' -d @quickstart/tutorial/wikipedia-kafka-supervisor.json http://localhost:8081/druid/indexer/v1/supervisor

View File

@ -27,7 +27,7 @@ Apache Druid可以通过roll-up在数据摄取阶段对原始数据进行汇总
``` ```
位于 `quickstart/tutorial/rollup-data.json` 的文件包含了样例输入数据 位于 `quickstart/tutorial/rollup-data.json` 的文件包含了样例输入数据
我们将使用 `quickstart/tutorial/rollup-index.json` 的摄入数据说明来摄取数据 我们将使用 `quickstart/tutorial/rollup-index.json` 的摄入数据规范来摄取数据
``` ```
{ {
@ -137,7 +137,7 @@ dsql>
这输入的数据行已经被按照时间列和维度列 `{timestamp, srcIP, dstIP}` 在指标列 `{packages, bytes}` 上做求和聚合 这输入的数据行已经被按照时间列和维度列 `{timestamp, srcIP, dstIP}` 在指标列 `{packages, bytes}` 上做求和聚合
在进行分组之前,原始输入数据的时间戳按分钟进行标记/布局,这是由于摄取说明中的 `"queryGranularity""minute"` 设置造成的。 在进行分组之前,原始输入数据的时间戳按分钟进行标记/布局,这是由于摄取规范中的 `"queryGranularity""minute"` 设置造成的。
同样,`2018-01-01T01:02` 期间发生的这两起事件也已经汇总。 同样,`2018-01-01T01:02` 期间发生的这两起事件也已经汇总。
``` ```

View File

@ -10,9 +10,9 @@
### 加载示例数据 ### 加载示例数据
在本教程中我们将使用Wikipedia编辑的示例数据其中包含一个摄取任务说明,它将为输入数据每个小时创建一个单独的段 在本教程中我们将使用Wikipedia编辑的示例数据其中包含一个摄取任务规范,它将为输入数据每个小时创建一个单独的段
数据摄取说明位于 `quickstart/tutorial/retention-index.json`, 提交这个说明,将创建一个名称为 `retention-tutorial` 的数据源 数据摄取规范位于 `quickstart/tutorial/retention-index.json`, 提交这个规范,将创建一个名称为 `retention-tutorial` 的数据源
``` ```
bin/post-index-task --file quickstart/tutorial/retention-index.json --url http://localhost:8081 bin/post-index-task --file quickstart/tutorial/retention-index.json --url http://localhost:8081

View File

@ -12,7 +12,7 @@
#### 加载初始数据 #### 加载初始数据
本节教程使用的任务摄取说明位于 `quickstart/tutorial/updates-init-index.json`, 本说明`quickstart/tutorial/updates-data.json` 输入文件创建一个名称为 `updates-tutorial` 的数据源 本节教程使用的任务摄取规范位于 `quickstart/tutorial/updates-init-index.json`, 本规范`quickstart/tutorial/updates-data.json` 输入文件创建一个名称为 `updates-tutorial` 的数据源
提交任务: 提交任务:
``` ```
@ -35,7 +35,7 @@ Retrieved 3 rows in 1.42s.
为了覆盖这些数据,我们可以在相同的时间间隔内提交另一个任务,但是使用不同的输入数据。 为了覆盖这些数据,我们可以在相同的时间间隔内提交另一个任务,但是使用不同的输入数据。
`quickstart/tutorial/updates-overwrite-index.json` 说明将会对 `updates-tutorial` 数据进行数据重写 `quickstart/tutorial/updates-overwrite-index.json` 规范将会对 `updates-tutorial` 数据进行数据重写
注意,此任务从 `quickstart/tutorial/updates-data2.json` 读取输入,`appendToExisting` 设置为false表示这是一个覆盖 注意,此任务从 `quickstart/tutorial/updates-data2.json` 读取输入,`appendToExisting` 设置为false表示这是一个覆盖
@ -62,7 +62,7 @@ Retrieved 3 rows in 0.02s.
现在我们尝试在 `updates-tutorial` 数据源追加一些新的数据,我们将从 `quickstart/tutorial/updates-data3.json` 增加新的数据 现在我们尝试在 `updates-tutorial` 数据源追加一些新的数据,我们将从 `quickstart/tutorial/updates-data3.json` 增加新的数据
`quickstart/tutorial/updates-append-index.json` 任务说明配置为从现有的 `updates-tutorial` 数据源和 `quickstart/tutorial/updates-data3.json` 文件读取数据,该任务将组合来自两个输入源的数据,然后用新的组合数据覆盖原始数据。 `quickstart/tutorial/updates-append-index.json` 任务规范配置为从现有的 `updates-tutorial` 数据源和 `quickstart/tutorial/updates-data3.json` 文件读取数据,该任务将组合来自两个输入源的数据,然后用新的组合数据覆盖原始数据。
提交任务: 提交任务:
``` ```
@ -89,7 +89,7 @@ Retrieved 6 rows in 0.02s.
现在尝试另一种追加数据的方式 现在尝试另一种追加数据的方式
`quickstart/tutorial/updates-append-index2.json` 任务说明`quickstart/tutorial/updates-data4.json` 文件读取数据,然后追加到 `updates-tutorial` 数据源。注意到在说明`appendToExisting` 设置为 `true` `quickstart/tutorial/updates-append-index2.json` 任务规范`quickstart/tutorial/updates-data4.json` 文件读取数据,然后追加到 `updates-tutorial` 数据源。注意到在规范`appendToExisting` 设置为 `true`
提交任务: 提交任务:
``` ```

View File

@ -12,16 +12,16 @@
### 加载初始数据 ### 加载初始数据
在本教程中我们将使用wikipedia编辑的示例数据其中的摄取任务说明将在输入数据中每小时创建1-3个段。 在本教程中我们将使用wikipedia编辑的示例数据其中的摄取任务规范将在输入数据中每小时创建1-3个段。
数据摄取说明位于 `quickstart/tutorial/compaction-init-index.json` ,提交这个任务说明将创建一个名称为 `compaction-tutorial` 的数据源: 数据摄取规范位于 `quickstart/tutorial/compaction-init-index.json` ,提交这个任务规范将创建一个名称为 `compaction-tutorial` 的数据源:
``` ```
bin/post-index-task --file quickstart/tutorial/compaction-init-index.json --url http://localhost:8081 bin/post-index-task --file quickstart/tutorial/compaction-init-index.json --url http://localhost:8081
``` ```
> ![WARNING] > ![WARNING]
> 请注意,摄取说明中的 `maxRowsPerSegment` 设置为1000, 这是为了每小时生成多个段不建议在生产中使用。默认为5000000可能需要进行调整以优化您的段文件。 > 请注意,摄取规范中的 `maxRowsPerSegment` 设置为1000, 这是为了每小时生成多个段不建议在生产中使用。默认为5000000可能需要进行调整以优化您的段文件。
摄取任务完成后,可以到 [http://localhost:8888/unified-console.html#datasources](http://localhost:8888/unified-console.html#datasources) Druid控制台查看新的数据源。 摄取任务完成后,可以到 [http://localhost:8888/unified-console.html#datasources](http://localhost:8888/unified-console.html#datasources) Druid控制台查看新的数据源。
@ -49,7 +49,7 @@ Retrieved 1 row in 1.38s.
现在我们将合并这51个小的段 现在我们将合并这51个小的段
`quickstart/tutorial/compaction-keep-granularity.json` 文件中我们包含了一个本教程数据源的合并任务说明 `quickstart/tutorial/compaction-keep-granularity.json` 文件中我们包含了一个本教程数据源的合并任务规范
``` ```
{ {
@ -106,7 +106,7 @@ Coordinator运行至少15分钟后"Segments"视图应显示有24个分段
合并任务还可以生成不同于输入段粒度的合并段 合并任务还可以生成不同于输入段粒度的合并段
我们在 `quickstart/tutorial/compaction-day-granularity.json` 文件中包含了一个可以创建 `DAY` 粒度的合并任务摄取说明 我们在 `quickstart/tutorial/compaction-day-granularity.json` 文件中包含了一个可以创建 `DAY` 粒度的合并任务摄取规范
``` ```
{ {
@ -123,7 +123,7 @@ Coordinator运行至少15分钟后"Segments"视图应显示有24个分段
} }
``` ```
请注意这个合并任务说明`segmentGranularity` 配置项设置为了 `DAY` 请注意这个合并任务规范`segmentGranularity` 配置项设置为了 `DAY`
现在提交这个任务: 现在提交这个任务:
``` ```

View File

@ -7,9 +7,9 @@
本教程我们假设您已经按照[单服务器部署](../GettingStarted/chapter-3.md)中描述下载了Druid并运行在本地机器上。 本教程我们假设您已经按照[单服务器部署](../GettingStarted/chapter-3.md)中描述下载了Druid并运行在本地机器上。
### 加载初始数据 ### 加载初始数据
在本教程中我们将使用Wikipedia编辑数据并使用创建每小时段的索引说明 在本教程中我们将使用Wikipedia编辑数据并使用创建每小时段的索引规范
这份说明位于 `quickstart/tutorial/deletion-index.json`, 它将创建一个名称为 `deletion-tutorial` 的数据源 这份规范位于 `quickstart/tutorial/deletion-index.json`, 它将创建一个名称为 `deletion-tutorial` 的数据源
现在加载这份初始数据: 现在加载这份初始数据:
``` ```
@ -129,7 +129,7 @@ $ ls -l1 var/druid/segments/deletion-tutorial/
现在我们已经禁用了一些段我们可以提交一个Kill任务它将从元数据和深层存储中删除禁用的段。 现在我们已经禁用了一些段我们可以提交一个Kill任务它将从元数据和深层存储中删除禁用的段。
`quickstart/tutorial/deletion-kill.json` 提供了一个Kill任务的说明通过以下的命令将任务提交到Overlord `quickstart/tutorial/deletion-kill.json` 提供了一个Kill任务的规范通过以下的命令将任务提交到Overlord
``` ```
curl -X 'POST' -H 'Content-Type:application/json' -d @quickstart/tutorial/deletion-kill.json http://localhost:8081/druid/indexer/v1/task curl -X 'POST' -H 'Content-Type:application/json' -d @quickstart/tutorial/deletion-kill.json http://localhost:8081/druid/indexer/v1/task
``` ```