концепция схемы druid - использование нескольких источников данных или парсеров в одном файле спецификации

У меня есть следующий сценарий, 1 тема Apache Kafka, в которую включены несколько типов событий. Druid подберет эту тему и объединит ее на основе метки времени.

Скажем, например, ниже приведены сообщения в теме kafka,

Тип 1,

{"timestamp": "07-08-2016", "service": "signup", "no_of_events": 8}

{"timestamp": "08-08-2016", "service": "signup", "no_of_events": 10}

тип 2,

{"timestamp": "08-08-2016", "user": "xyz", "no_of_events": 3}

{"timestamp": "08-08-2016", "user": "abc", "no_of_events": 2}

Q1: Могу ли я написать два парсера в одном файле спецификации, указывающие на события из одной темы? Если да, какова будет структура файла спецификации?

Любые другие предложения по дизайну приветствуются :)

Q2: Также, чтобы лучше понять, возможно ли иметь несколько источников данных в файле спецификации?

Заранее спасибо!!


person Krishna    schedule 08.08.2016    source источник


Ответы (1)


Q2: да, вы определенно можете иметь два источника данных в одном файле спецификации. Вы можете просто перечислить их в файле спецификации в виде массива под атрибутом dataSources:

"dataSources" : [
  {
  "spec" : {
    "dataSchema" : {
      "dataSource" : "Data Souce1"
      ...other stuff
      }
    }
  },
  {
  "spec" : {
    "dataSchema" : {
      "dataSource" : "Data Source 2"
      ...other stuff
    }
  },

В1: Разве два разных источника данных не указывают на одну и ту же тему Kafka? Я не пробовал, но уверен, что вы сможете это сделать - они указаны в разделе «Свойства» спецификации источника данных:

"dataSources" : [
  {
  "spec" : {
    "dataSchema" : {
      "dataSource" : "Data Souce1"
      ...other stuff
      }
    }
    "properties" : {
        "topicPattern.priority" : "1",
        "topicPattern" : "kafka_topic"
    }
  },
{
  "spec" : {
    "dataSchema" : {
      "dataSource" : "Data Souce1"
      ...other stuff
      }
    }
    "properties" : {
        "topicPattern.priority" : "1",
        "topicPattern" : "kafka_topic"
    }
}
person Simon D    schedule 09.08.2016