2017-07-09 5 views
0

私はカフカのスパークストリーミングをダイナミックスキーマで絞っています。 私は「各メッセージ/ JSONフィールドは入れ子にすることができ、各フィールドにはいくつかのメッセージに表示され、時にはすることはできませんカフカ(KafkaUtils.createDirectStream)からかかるmはカフカのスパークストリーミングダイナミックスキーマ

私が見つけた唯一のことはやっている:。 Spark 2.0 implicit encoder, deal with missing column when type is Option[Seq[String]] (scala)

ケースクラスMyTyp(列1:オプション[任意]、列2:オプション[任意] ....) これは、表示される可能性のあるフィールドと入れ子にされるフィールドをカバーします。

すべての承認/その他のアイデア/一般的なヘルプは高く評価されます...

答えて

1

Af長い間の統合とトレール、非スキーマカフカの消費を解決する2つの方法:1) "編集/検証"を "ラムダ"機能で各メッセージにスローします。 2)スパーク:各マイクロバッチ上で平坦化されたスキーマを取得し、必要な列を相互作用させる。 spark SQLを使用してフレームに必要なデータを照会します。それは私のために働いた。

関連する問題