2016-10-14 1 views
0

私はストリーミングやスカラーを始めるのにかなり新しいです。私は私のJSONデータは次のようになりますJSONデータとカフカtopic.Iから入ってくる他のいくつかのランダムなログデータはこのカフカトピックからネストされたJsonメッセージをハイブにパースする方法

val messages = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](ssc, kafkaParams, topicsSet).map(_._2).filter (x => x.matches("^[{].*")) 

のようなだけでJSONデータをフィルタリングすることができたています。

{"time":"125573","randomcol":"abchdre","address":{"city":"somecity","zip":"123456"}} 

私はjsonデータを解析してハイブテーブルに入れようとしています。 誰かが正しい方向に私を向けることができます。 ありがとう

+0

質問がありますか? – Ashalynd

+0

私はjsonデータを解析してハイブテーブルに入れようとしています。 –

答えて

0

これを行う方法は複数あります。

  1. 必須の列とこのデータの場所を指す外部ハイブテーブルを作成します。
  2. テーブルを作成するときに、デフォルトのJSON serdeを使用し、get_json_objectハイブ関数を使用して、この生データを最終テーブルにロードすることができます。機能の詳細

OR

あなたはアブロserdeを試してみて、ハイブテーブルを作成するためにあなたのJSONメッセージに従ってアブロスキーマを言及する可能性があるためthisを参照してください。 avro serdeの例 については、thisを参照してください。

希望します。

+0

もしSparkでの解析をしようとしているのであれば...私は何をしますか? –

関連する問題