के माध्यम से BigQuery को बड़ी मात्रा में डेटा डालें, मेरे पास बड़ी सीएसवी फ़ाइलें हैं और एक्सेल फाइलें हैं जहां मैंने उन्हें पढ़ा है और आवश्यक फ़ील्ड और प्रकारों के आधार पर गतिशील रूप से आवश्यक तालिका स्क्रिप्ट बनाएं। फिर बनाई गई तालिका में डेटा डालें।Bigquery-Python लाइब्रेरी
मैंने this पढ़ा है और समझा है कि मुझे उन्हें बड़ी संख्या में डेटा के लिए tabledata.insertAll()
के बजाय jobs.insert()
के साथ भेजना चाहिए।
इस तरह मैं इसे कॉल करता हूं (छोटी फ़ाइलों के लिए काम करता है बड़े नहीं)।
result = client.push_rows(datasetname,table_name,insertObject) # insertObject is a list of dictionaries
जब मैं लाइब्रेरी के push_rows का उपयोग करता हूं तो यह विंडोज़ में यह त्रुटि देता है।
[Errno 10054] An existing connection was forcibly closed by the remote host
और यह उबंटू में है।
[Errno 32] Broken pipe
तो जब मैं BigQuery-Python कोड माध्यम से चला गया यह table_data.insertAll()
उपयोग करता है।
मैं इस पुस्तकालय के साथ यह कैसे कर सकता हूं? मुझे पता है कि हम Google स्टोरेज के माध्यम से अपलोड कर सकते हैं लेकिन मुझे इसके साथ सीधे अपलोड विधि की आवश्यकता है।
तुम सिर्फ ओ पी के लिए एक लिंक जोड़ दिया ?! –
ओह, रिकर्सन फिक्सिंग! –
@FelipeHoffa gsutil क्या मैं पाइथन कोड के अंदर उपयोग कर सकता हूं? सीएसवी फ़ाइल पथ सीधे अपलोड करते समय कुछ कॉलम प्रकार के मुद्दे थे। इसलिए मैं सीएसवी पढ़ सकता हूं और तदनुसार खेतों को कास्ट कर सकता हूं। ऑब्जेक्ट डालने के बाद तालिका में ऑब्जेक्ट डालने का कोई तरीका नहीं है (शब्दकोशों की एक सूची हो सकती है)? –