मैं उच्च-आयामी लकड़ी की छत फ़ाइलों में लोड कर रहा हूं लेकिन केवल कुछ कॉलम की आवश्यकता है। मेरे वर्तमान कोड लगता है:स्पार्क में अधिक कुशलता से लोड लकड़ी की फाइलें कैसे करें (pySpark v1.2.0)
dat = sqc.parquetFile(path) \
.filter(lambda r: len(r.a)>0) \
.map(lambda r: (r.a, r.b, r.c))
क्या हो रहा है की मेरी मानसिक मॉडल है कि यह सभी डेटा में लोड हो रहा है है, फिर कॉलम मैं नहीं चाहता कि बाहर फेंक। मैं स्पष्ट रूप से उन कॉलमों में भी पढ़ने के लिए पसंद नहीं करता, और जो मुझे लगता है कि लकड़ी के बारे में जो मुझे लगता है उससे संभव है।
- मेरी मानसिक मॉडल गलत है:
तो दो सवाल कर रहे हैं? या स्पार्क कंपाइलर स्मार्ट है जो ऊपर दिए गए उदाहरण में कॉलम ए, बी, और सी में केवल पढ़ने के लिए पर्याप्त है?
- डेटा में अधिक कुशलतापूर्वक पढ़ने के लिए मैं
sqc.parquetFile()
को कैसे मजबूर कर सकता हूं?
मैं अपने अवसरों को केवल पढ़ने के लिए की जरूरत कॉलम अधिक होगा प्राप्त करने के लिए लगता है कि अगर आप 'map' _before_' filter' – sds