为什么德鲁伊Sum Aggregator总是达到零

问题描述

我们正在尝试为一个字符串数据类型的列之一进行合计(求和)。我正在使用以下查询我有两个Druid服务器,那里有相同的数据。一种是使用Imply,另一种是From Ambari安装。在隐式中它正在工作,并且我们得到了预期的输出,但是对于以下查询,我从Ambari Druid获得了零输出。下面是我同时输入的Kafka规范(我的Ambari druid服务器和Imply)

{"type": "kafka","dataSchema": {"dataSource": "DRUID_RAIN","parser": {"type": "string","parseSpec": {    "format": "json","timestampSpec": {      "column": "DATE_TIME","format": "auto"},"flattenSpec": {"fields": [{ "type": "path","name": "deviceType","expr": "$.ENVIRONMENT.deviceType"},{ "type": "path","name": "NS","expr":"$.ENVIRONMENT.NS"},{"type": "path","name": "latitude","expr": "$.ENVIRONMENT.latitude"},"name": "TIME","expr": "$.ENVIRONMENT.TIME"},"name": "tenantCode","expr": "$.ENVIRONMENT.tenantCode"},"name": "deviceName","expr": "$.ENVIRONMENT.deviceName"},"name": "MAC","expr": "$.ENVIRONMENT.MAC"},"name": "DATE","expr": "$.ENVIRONMENT.DATE"},"name": "RAIN","expr": "$.ENVIRONMENT.RAIN"},"name": "MESSAGE_ID","expr": "$.ENVIRONMENT.MESSAGE_ID"},"name": "tenantId","expr": "$.ENVIRONMENT.tenantId"},"name": "zoneId","expr": "$.ENVIRONMENT.zoneId"},"name": "DATE_TIME","expr": "$.ENVIRONMENT.DATE_TIME"},"name": "zoneName","expr": "$.ENVIRONMENT.zoneName" },"name": "longitude","expr": "$.ENVIRONMENT.longitude"},"name": "STATUS","expr": "$.ENVIRONMENT.STATUS"}]},"dimensionsspec": {"dimensions":["deviceType","NS","latitude","TIME","tenantCode","deviceName","MAC","DATE","RAIN","MESSAGE_ID","tenantId","zoneId","DATE_TIME","zoneName","longitude","STATUS"]}}},"metricsspec": [ ],"granularitySpec": {  "type": "uniform","segmentGranularity": "DAY","queryGranularity": {"type": "none"},"rollup": true,"intervals": null},"transformSpec": {  "filter": null,"transforms": []}},"tuningConfig": {"type": "kafka","maxRowsInMemory": 1000000,"maxBytesInMemory": 0,"maxRowsPerSegment": 5000000,"maxTotalRows": null,"intermediatePersistPeriod": "PT10M","maxPendingPersists": 0,"indexSpec": {  "bitmap": {    "type": "concise"},"dimensionCompression": "lz4","metricCompression": "lz4","longEncoding": "longs"},"buildV9Directly": true,"reportParseExceptions": false,"handoffConditionTimeout": 0,"resetoffsetAutomatically": false,"segmentWriteOutMediumFactory": null,"workerThreads": null,"chatThreads": null,"chatRetries": 8,"httpTimeout": "PT10S","shutdownTimeout": "PT80S","offsetFetchPeriod": "PT30S","intermediateHandoffPeriod": "P2147483647D","logParseExceptions": false,"maxParseExceptions": 2147483647,"maxSavedParseExceptions": 0,"skipSequenceNumberAvailabilityCheck": false},"ioConfig": {"topic": "rain_out","replicas": 2,"taskCount": 1,"taskDuration": "PT5S","consumerProperties": {  "bootstrap.servers": "XXXX:6667,XXXX:6667,XXXX:6667"},"pollTimeout": 100,"startDelay": "PT10S","period": "PT30S","useEarliestOffset": true,"completionTimeout": "PT20S","lateMessageRejectionPeriod": null,"earlyMessageRejectionPeriod": null,"stream": "env_out","useEarliestSequenceNumber": true,"type": "kafka"},"context": null,"suspended": false}

下面是我的查询我写的内容

{
  "queryType": "groupBy","dataSource": "DRUID_RAIN","granularity": "hour","dimensions": [
    "zoneName","deviceName"
  ],"limitSpec": {
    "type": "default","limit": 5000,"columns": [
      "zoneName","deviceName"
    ]
  },"aggregations": [
    {
      "type": "doubleSum","fieldName": "RAIN"
    }
  ],"intervals": [
    "2020-10-27T18:30:00.000/2020-10-28T18:30:00.000"
  ],"context": {
    "skipEmptyBuckets": "true"
  }
}

对于RAIN列,输出始终为0。我没有从邮递员或德鲁伊DB的命令行中获得预期的总和。但是使用暗示我可以得到相同查询的准确输出

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)