2016-06-27 11 views
5

データフレームのすべての行をdynamoDBテーブルの新しいアイテムとして書き込む方法はありますか?ダイナモDBテーブルのアイテムとしてスパークデータフレームの行を書き込む

pySparkに)私はboto3ライブラリとこのコードを使用しますが、pandasfor loop手順を避け、別の方法があるのだろうか:

sparkDF_dict = sparkDF.toPandas().to_dict('records') 
for item in sparkDF_dict : 
    table.put_item(Item = item) 
+1

この問題は解決されましたか?このようなことに関する資料はほとんどありません。 DynamoDBへのEMR出力の送信が可能になるはずです。 – Gopala

答えて

0

DynamoDBのはBatchWriteItem API提供しています。 available in boto3なので、sparkDF_dict 25要素のスライスを長くした後に呼び出すことができます。 BatchWriteItem APIはwriting 25 items at a timeしかサポートしておらず、すべての書き込みが最初に成功するとは限りません(サービス側で調整され、応答のUnprocessedItems部分に戻ってくる可能性があるため)。あなたのアプリケーションは応答の中でUnprocessedItemsを見て、必要に応じて再試行する必要があります。

関連する問題