2016-08-08 5 views
0

複数のイベントタイプがプッシュされているApache Kafkaトピックが1つあります。ドルイドはこのトピックのフォームを取得し、タイムスタンプに基づいて集計します。druidスキーマ概念 - 同じ仕様ファイル内の複数のデータソースまたはパーサーを使用

セイ例えば以下カフカトピックのメッセージ、

タイプ1、

{ "タイムスタンプ" である "2016年7月8日"、 "サービス": "サインアップ"、「no_of_events ":8}

{" タイムスタンプ」: "2016年8月8日"、 "サービス": "サインアップ"、 "no_of_events":10}

タイプ2、

{ "タイムスタンプ" : "08-08-2016"、 "user": "xyz"、 "no_o f_events」:3}

{ "タイムスタンプ": "2016年8月8日"、 "ユーザ": "ABC"、 "no_of_events":2}

Q1:私は、同じ内の2つのパーサを書くことができ同じトピックからのイベントを指し示すspecファイル?はいの場合、specファイルの構造はどのようになりますか?

設計上の任意の他の提案は大歓迎です:)

Q2:また、よりよく理解するためには、それはspecファイルに内に複数のデータソースを持つことが可能でしょうか?

ありがとうございます!

答えて

0

Q2:はい、間違いなく同じ仕様ファイル内に2つのデータソースを持つことができます。あなただけの「データソース」属性の下に配列としてspecファイルでそれらを一覧表示することができます:

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

Q1:あなたは同じカフカのトピックを指す2つの異なるデータソースをwan'tていますか?試したことはありませんが、データソース仕様の[プロパティ]セクションで指定されています。

"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" 
    } 
} 
関連する問題