私はスパークするのが初めてです。私はとして来るjson
データを持っています。このデータをハイブテーブルに格納する必要があります。 HttpGet
要求ごとに、テーブル内の単一の行になるjsonが返されます。このため、ハイブテーブルのディレクトリにファイルとして単一の行を書き込む必要があります。データフレームに行を再帰的に追加する
しかし、私は小さすぎるファイルを持っていると感じるので、速度と効率が低下します。だから私は再帰的にDataframe
に新しい行を追加し、ハイブテーブルのディレクトリに一度に書き込む方法があります。私はこれも私のスパークコードの実行時間を減らすと思う。
例:私は、データフレームは不変であることを理解
for(i <- 1 to 10){
newDF = hiveContext.read.json("path")
df = df.union(newDF)
}
df.write()
。これを達成する方法はありますか?
ご協力いただければ幸いです。ありがとうございました。
この回答に感謝します。私はこれを実装しようとしています。get要求を投稿するには、json配列の各要素からパラメータを取得する必要があります(以前に取得されています)。ですから、forループを実装するより良い方法があるので、各繰り返しで増加する変数を持つことができます(この変数は配列の各要素のパラメータにアクセスするために使用されます)。 –
0から何かに増分するインデックスが必要ですか? –
私はちょうどあなたがしようとしていることを反映すると思う答えを更新しました。これは、取得したJSON配列を一度に処理したい(そして1つのファイルに書き込む)ことを前提としています。また、何をしたいかに応じて、JSON配列を分割するか、複数のJSON配列を連結することもできます。 –