2016-06-27 21 views
5

Có cách nào để viết mỗi hàng của dataframe spark của tôi dưới dạng mục mới trong bảng dynamoDB không? (Trong pySpark)ghi các dòng dữ liệu tia lửa dưới dạng các mục trong bảng dynamoDB

tôi đã sử dụng mã này với boto3 thư viện, nhưng tôi tự hỏi nếu có một cách khác, tránh pandasfor loop bước sau:

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

Đã có giải pháp cho vấn đề này chưa? Vì vậy, ít tài liệu về công cụ này. Có vẻ như việc gửi đầu ra EMR tới DynamoDB là có thể. – Gopala

Trả lời

0

DynamoDB cung cấp một BatchWriteItem API. Đó là available in boto3, vì vậy bạn có thể gọi nó sau khi tạo các lát của các phần tử sparkDF_dict 25 dài. Lưu ý, API BatchWriteItem chỉ hỗ trợ writing 25 items at a time và không phải tất cả các lần viết đều có thể thành công lúc đầu (vì chúng có thể được điều chỉnh ở phía dịch vụ và quay lại với bạn trong phần UnprocessedItems của phản hồi). Ứng dụng của bạn sẽ cần phải xem xét UnprocessedItems trong phản hồi và thử lại khi cần.

Các vấn đề liên quan