2016-08-08 4 views
0

Ich habe das folgende Szenario, 1 Apache Kafka Thema, wo mehrere Arten von Ereignissen geschoben werden. Druid wird von diesem Thema abholen und aggregieren basierend auf Timestamp.Druid-Schema-Konzept - mit mehreren Datenquellen oder Parsern in der gleichen Spec-Datei

Sagen Sie zum Beispiel die folgenden sind die Nachrichten in kafka Thema,

Typ 1,

{ "Zeitstempel": "2016.07.08", "Service": "Registrierung", „no_of_events ": 8}

{" Zeitstempel“: ​​"2016.08.08", "Service": "Anmelden", "no_of_events": 10}

Typ 2,

{ "Zeitstempel" : "08-08-2016", "user": "xyz", "no_o." f_events“: 3}

{ "Zeitstempel": "2016.08.08", "user": "abc", "no_of_events": 2}

Q1: Kann ich schreibe zwei Parser innerhalb der gleichen Spezifikationsdatei, die auf die Ereignisse vom selben Thema zeigt? Wenn ja, wie wird die Spezifikationsdatei aufgebaut?

Jede andere Anregung auf die Gestaltung willkommen :) ist

Q2: Auch besser zu verstehen, ist es möglich, mehrere Datenquellen innerhalb der Spec-Datei zu haben?

Vielen Dank im Voraus!

Antwort

0

Q2: Ja, Sie können definitiv zwei Datenquellen innerhalb derselben Spezifikationsdatei haben. Sie können sie nur als ein Array in der Spec-Datei auflisten unter dem „Datenquellen“ Attribut:

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

Q1: Haben Sie wan't zwei verschiedene Datenquellen zu demselben Kafka Thema zeigen? Ich habe es nicht versucht, aber ich bin mir ziemlich sicher, dass Sie das tun könnten - sie sind im Abschnitt "Eigenschaften" der Datenquellenspezifikation angegeben:

"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" 
    } 
} 
Verwandte Themen