मुझे एमएस-एसक्यूएल सर्वर से एक टेबल डाउनलोड करना है।rbind कैसे गति करें?
पंक्ति की संख्या 6 मिलियन से बड़ी है। सर्वर एक ही समय में पूरा डेटा वापस नहीं कर सकता है।
तो, मैंने एक कोड लिखा जो एक समय में 10,000 पंक्तियों को डाउनलोड करता है। और, यह लूप में पंक्तियों को बांधता है।
मान लें कि getData()
फ़ंक्शन एक डेटा फ्रेम में एक समय में 10000 पंक्तियां देता है। (छद्म कोड)
for(i in 1:600)
{
tempValue <- getData()
wannagetValue <- rbind(wannagetValue,tempValue)
print(i)
}
समस्या यह है कि समय धीमा हो जाता है क्योंकि यह धीमा हो जाता है।
मुझे लगता है कि इस तरह rbind का उपयोग करना एक अच्छा विचार नहीं है।
कोई सलाह बहुत उपयोगी होगी। पहले ही, आपका बहुत धन्यवाद।
यदि आप जानते हैं कि आपका अंतिम डेटा फ्रेम कितना बड़ा होगा, तो यह पूर्व-आवंटित करने के लिए बहुत तेज़ होगा और जब आप जाते हैं तो मानों को भरें। यद्यपि कोई भी पोस्ट करेगा जो विभिन्न डेटा संरचनाओं का उपयोग कर एक तेज समाधान की संभावना है। – David
wannagetValue <- rbind (wannagetValue, getData()); । यह आपके कोड को थोड़ा बढ़ा सकता है ... लेकिन मुख्य सवाल यह है कि, इतने सारे डेटा क्यों? – Hackerman
धन्यवाद डेविड! आपने मुझे बचाया .. रॉबर्ट // मुझे कोई जानकारी नहीं है ~~ मुझे पता है कि 500 जीबी आकार से अधिक डेटा है। –