2016-08-08 1 views
0

J'ai le scénario suivant, 1 sujet Apache Kafka où plusieurs types d'événements sont insérés. Druide récupérera ce sujet et l'agrégera en fonction de l'horodatage.concept de schéma druide - utilisation de plusieurs sources de données ou analyseurs dans le même fichier de spécification

Say par exemple ci-dessous sont les messages dans le sujet de kafka,

type 1,

{ "timestamp": "08.07.2016", "service": "inscription", « no_of_events ": 8}

{" timestamp »: "08.08.2016", "service": "inscription", "no_of_events": 10}

type 2,

{ "timestamp" : "08-08-2016", "utilisateur": "xyz", "no_o f_events »: 3}

{ "timestamp": "08.08.2016", "utilisateur": "abc", "no_of_events": 2}

Q1: Puis-je écrire deux parseurs dans le même fichier spec pointant vers les événements du même sujet? Si oui, quelle sera la structure du fichier spec?

Toute autre suggestion sur la conception est :) Bienvenue

Q2: De plus pour mieux comprendre, est-il possible d'avoir plusieurs sources de données au sein du fichier de spécification?

Merci d'avance !!

Répondre

0

Q2: oui vous pouvez certainement avoir deux sources de données dans le même fichier de spécifications. Vous pouvez simplement les lister dans le fichier de spécification comme un tableau sous l'attribut « DataSources »:

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

Q1: Est-ce que vous wan't deux sources de données différentes pointant vers le même sujet Kafka? Je n'ai pas essayé, mais je suis sûr que vous pourriez faire cela - ils sont spécifiés dans la section "Propriétés" de la spécification de la source de données:

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