我正试图用这个食入点在Druid中加载一个tsv:
最新规范如下:
{
"type" : "index",
"spec" : {
"ioConfig" : {
"type" : "index",
"inputSpec" : {
"type": "local",
"baseDir": "quickstart",
"filter": "test_data.json"
}
},
"dataSchema" : {
"dataSource" : "local",
"granularitySpec" : {
"type" : "uniform",
"segmentGranularity" : "hour",
"queryGranularity" : "none",
"intervals" : ["2016-07-18/2016-07-22"]
},
"parser" : {
"type" : "string",
"parseSpec" : {
"format" : "json",
"dimensionsSpec" : {
"dimensions" : ["name", "email", "age"]
},
"timestampSpec" : {
"format" : "yyyy-MM-dd HH:mm:ss",
"column" : "date"
}
}
},
"metricsSpec" : [
{
"name" : "count",
"type" : "count"
},
{
"type" : "doubleSum",
"name" : "age",
"fieldName" : "age"
}
]
}
}
}
如果我的架构如下所示:
Schema: name email age
实际数据集如下所示:
name email age Bob Jones 23 Billy Jones 45
这就是tsv的上述数据集中列的格式吗?就像 name email age
首先应该是(列),然后是实际数据。我很困惑Druid怎么知道如何将列Map到tsv格式的实际数据集。
1条答案
按热度按时间1tuwyuhd1#
tsv代表制表符分隔格式,因此它看起来与csv相同,但您将使用制表符而不是逗号。
您将使用第一行作为标题来定义列名,这样您就可以在spec文件的维度中使用“name”、“age”或“email”
至于gmt和utc,它们基本相同
格林威治标准时间和协调世界时之间没有时差
第一个是时区,另一个是时间标准
顺便说一句,别忘了在你的tsv文件中包含一个带有时间值的列!!
例如,如果您的tsv文件如下所示:
等级库文件应如下所示: