2017-05-16 10 views
0

私は次のJSONファイルを持っています。SparkSQLを使用しないでJSONファイルを解析する方法は?

{ 
    "reviewerID": "ABC1234", 
    "productID": "ABCDEF", 
    "reviewText": "GOOD!", 
    "rating": 5.0, 
}, 
{ 
    "reviewerID": "ABC5678", 
    "productID": "GFMKDS", 
    "reviewText": "Not bad!", 
    "rating": 3.0, 
} 

私はSparkSQLを使用せずに解析し、JSONパーサーを使用したいと考えています。

私が欲しいのは、テキストファイルです。

ABC1234::ABCDEF::5.0 
ABC5678::GFMKDS::3.0 

spark scalaでjsonパーサーを使用してjsonファイルを解析する方法はありますか?

答えて

1

tl; dr Spark SQLは、ファイルごとまたは行ごとに1つのJSON形式でJSONをサポートします。複数のJSONを1つのファイルにまとめて解析する場合は、ではなく現在という独自のSparkサポートを作成する必要があります。

可能な解決策は、あなたの人生をはるかに魅力的にする「ライター」(ファイルをより良く書いて、ファイルごとに1つのJSONを保存するプロセス)に尋ねることです。

これであまり意味がない場合は、mapPartitionsの変換をパーサーで使用して、何らかの形でパースを行う必要があります。

val input: RDD[String] = // ... load your JSONs here 
val jsons = jsonRDD.mapPartitions(json => // ... use your JSON parser here) 
+0

各jsonが別々のパーティションにのみ存在することを確認する方法は、両方ともjsonsが同じパーティションに表示されることがあります。 –

+0

申し訳ありません...私はTTを理解できません。もっと具体的に説明できますか? – DaehyunPark

関連する問題