2016-06-27 7 views
5

में आइटम के रूप में स्पार्क डेटाफ्रेम पंक्तियां लिखें dynamoDB तालिका में एक नए आइटम के रूप में मेरे spark डेटाफ्रेम की प्रत्येक पंक्ति लिखने का कोई तरीका है? (pySpark में)डाइनेमो डीबी तालिका

मैं boto3 पुस्तकालय के साथ इस कोड का इस्तेमाल किया है, लेकिन मुझे आश्चर्य है कि वहाँ एक और तरीका है, pandas और for loop चरणों से परहेज:

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

क्या इस समस्या का समाधान किया गया है? इस सामान पर बहुत कम दस्तावेज। ऐसा लगता है कि डायनेमो डीबी को ईएमआर आउटपुट भेजना संभव होना चाहिए। – Gopala

उत्तर

0

DynamoDB एक BatchWriteItem API प्रदान करता है। यह available in boto3 है, इसलिए आप sparkDF_dict 25 तत्वों के लंबे स्लाइस बनाने के बाद इसे कॉल कर सकते हैं। नोट, बैचवाइटइटम एपीआई केवल writing 25 items at a time का समर्थन करता है, और सभी लिखने पहले सफल नहीं हो सकते हैं (क्योंकि वे सेवा पक्ष पर थ्रॉटल हो सकते हैं और प्रतिक्रिया के UnprocessedItems भाग में आपके पास वापस आ सकते हैं)। आपके आवेदन को प्रतिक्रिया में UnprocessedItems पर देखने की आवश्यकता होगी और आवश्यकतानुसार पुनः प्रयास करें।

संबंधित मुद्दे