转载:http://druid.io/docs/latest/tutorials/tutorial-batch.html
教程:加载文件
入门
本教程演示了如何使用Druid的本机批处理提取来执行批处理文件加载。
在本教程中,我们假设您已经按照单机快速入门中的说明下载了Druid,并让它在本地计算机上运行。您还不需要加载任何数据。
准备数据和摄取任务规范
通过向德鲁伊霸主提交摄取任务规范来启动数据加载。在本教程中,我们将加载示例Wikipedia页面编辑数据。
Druid包中包含以下示例本机批量摄取任务规范quickstart/tutorial/wikipedia-index.json
,为方便起见,此处显示已配置为读取quickstart/tutorial/wikiticker-2015-09-12-sampled.json.gz
输入文件:
{
"type" : "index",
"spec" : {
"dataSchema" : {
"dataSource" : "wikipedia",
"parser" : {
"type" : "string",
"parseSpec" : {
"format" : "json",
"dimensionsSpec" : {
"dimensions" : [
"channel",
"cityName",
"comment",
"countryIsoCode",
"countryName",
"isAnonymous",
"isMinor",
"isNew",
"isRobot",
"isUnpatrolled",
"metroCode",
"namespace",
"page",
"regionIsoCode",
"regionName",
"user",
{ "name": "added", "type": "long" },
{ "name": "deleted", "type": "long" },
{ "name": "delta", "type": "long" }
]
},
"timestampSpec": {
"column": "time",
"format": "iso"
}
}
},
"metricsSpec" : [],
"granularitySpec" : {
"type" : "uniform",
"segmentGranularity" : "day",
"queryGranularity" : "none",
"intervals" : ["2015-09-12/2015-09-13"],
"rollup" : false
}
},
"ioConfig" : {
"type" : "index",
"firehose" : {
"type" : "local",
"baseDir" : "quickstart/tutorial/",
"filter" : "wikiticker-2015-09-12-sampled.json.gz"
},
"appendToExisting" : false
},
"tuningConfig" : {
"type" : "index",
"targetPartitionSize" : 5000000,
"maxRowsInMemory" : 25000,
"forceExtendableShardSpecs" : true
}
}
}
此规范将创建一个名为“wikipedia”的数据源,
加载批次数据
我们从2015年9月12日开始包含维基百科编辑样本,以帮助您入门。
要将此数据加载到Druid中,您可以提交指向该文件的摄取任务。我们已经包含了一个加载wikiticker-2015-09-12-sampled.json.gz
存档中包含的文件的任务。
为方便起见,Druid包中包含批量摄取助手脚本bin/post-index-task
。
此脚本会将摄取任务发布给德鲁伊霸主,并轮询德鲁伊,直到数据可用于查询。
从Druid包root运行以下命令:
bin/post-index-task --file quickstart/tutorial/wikipedia-index.json
您应该看到如下输出:
Beginning indexing data for wikipedia
Task started: index_wikipedia_2018-07-27T06:37:44.323Z
Task log: http://localhost:8090/druid/indexer/v1/task/index_wikipedia_2018-07-27T06:37:44.323Z/log
Task status: http://localhost:8090/druid/indexer/v1/task/index_wikipedia_2018-07-27T06:37:44.323Z/status
Task index_wikipedia_2018-07-27T06:37:44.323Z still running...
Task index_wikipedia_2018-07-27T06:37:44.323Z still running...
Task finished with status: SUCCESS
Completed indexing data for wikipedia. Now loading indexed data onto the cluster...
wikipedia loading complete! You may now query your data
查询您的数据
加载数据后,请按照查询教程对新加载的数据运行一些示例查询。
清理
如果您希望浏览任何其他摄取教程,则需要关闭群集并通过删除var
druid包下目录的内容来重置群集状态,因为其他教程将写入相同的“维基百科”数据源。
额外:没有脚本加载数据
让我们简要讨论一下如何在不使用脚本的情况下提交摄取任务。您不需要运行这些命令。
要提交任务,请在apache-druid-0.13.0-incubating目录的新终端窗口中将其发布到Druid:
curl -X 'POST' -H 'Content-Type:application/json' -d @quickstart/tutorial/wikipedia-index.json http://localhost:8090/druid/indexer/v1/task
如果提交成功,将打印任务的ID:
{"task":"index_wikipedia_2018-06-09T21:30:32.802Z"}
要查看摄取任务的状态,请转至霸王控制台: http:// localhost:8090 / console.html。您可以定期刷新控制台,任务成功后,您应该看到任务的“成功”状态。
摄取任务完成后,数据将由历史节点加载,并可在一两分钟内进行查询。您可以通过检查是否存在带有蓝色圆圈的数据源“维基百科”来监控协调器控制台中加载数据的进度:http:// localhost:8081 /#/。
进一步阅读
有关加载批处理数据的更多信息,请参阅批处理提取文档。