Druid Queries - Datasketches (продажи пользователей, которые посетили продукт A и B) - PullRequest
0 голосов
/ 20 сентября 2019

Я просматривал несколько примеров эскизов данных, упомянутых в https://druid.apache.org/docs/latest/development/extensions-core/datasketches-theta.html В одном из примеров у нас есть:
- Сколько уникальных пользователей посетили оба продукта A и B?
- Набор данных содержит (метка времени, product, user_id)
Запрос:

{
  "queryType": "groupBy",
  "dataSource": "test_datasource",
  "granularity": "ALL",
  "dimensions": [],
  "filter": {
    "type": "or",
    "fields": [
      {"type": "selector", "dimension": "product", "value": "A"},
      {"type": "selector", "dimension": "product", "value": "B"}
    ]
  },
  "aggregations": [
    {
      "type" : "filtered",
      "filter" : {
        "type" : "selector",
        "dimension" : "product",
        "value" : "A"
      },
      "aggregator" :     {
        "type": "thetaSketch", "name": "A_unique_users", "fieldName": "user_id_sketch"
      }
    },
    {
      "type" : "filtered",
      "filter" : {
        "type" : "selector",
        "dimension" : "product",
        "value" : "B"
      },
      "aggregator" :     {
        "type": "thetaSketch", "name": "B_unique_users", "fieldName": "user_id_sketch"
      }
    }
  ],
  "postAggregations": [
    {
      "type": "thetaSketchEstimate",
      "name": "final_unique_users",
      "field":
      {
        "type": "thetaSketchSetOp",
        "name": "final_unique_users_sketch",
        "func": "INTERSECT",
        "fields": [
          {
            "type": "fieldAccess",
            "fieldName": "A_unique_users"
          },
          {
            "type": "fieldAccess",
            "fieldName": "B_unique_users"
          }
        ]
      }
    }
  ],
  "intervals": [
    "2014-10-19T00:00:00.000Z/2014-10-22T00:00:00.000Z"
  ]
}

Мои требования очень похожи на следующие:
- Мой набор данных содержит (метка времени, product, user_id, sales).Продажи это показатель.Вопрос, на который я пытаюсь ответить:
Продажи пользователей, которые посетили оба продукта A и B?
Мне трудно разобраться в запросе.Единственное ограничение, которое у меня есть, это то, что я не могу использовать подзапросы.

...