मेरे पास डेटा के साथ स्पार्क एसक्यूएल DataFrame
है और जो मैं प्राप्त करने का प्रयास कर रहा हूं वह सभी पंक्तियों को किसी दिए गए दिनांक सीमा में वर्तमान पंक्ति से पहले है। तो उदाहरण के लिए मैं दी गई पंक्ति से 7 दिन पहले सभी पंक्तियां रखना चाहता हूं। मैं पता लगा मैं एक Window Function
की तरह उपयोग करने की आवश्यकता:स्पार्क विंडो फ़ंक्शंस - रेंज के बीच
Window \
.partitionBy('id') \
.orderBy('start')
और यहाँ समस्या आती है। मैं 7 दिनों के लिए चाहता हूं, लेकिन स्पार्क दस्तावेज़ों में कुछ भी नहीं है जो मुझे मिल सकता है। क्या स्पार्क भी ऐसा विकल्प प्रदान करता है? अभी के लिए मैं सिर्फ साथ सभी पूर्ववर्ती पंक्तियों हो रही है:
.rowsBetween(-sys.maxsize, 0)
लेकिन जैसे कुछ प्राप्त करने के लिए चाहते हैं: अगर किसी को भी इस एक मैं बहुत आभारी होंगे पर मेरी मदद कर सकता है
.rangeBetween("7 days", 0)
। अग्रिम में धन्यवाद!
धन्यवाद, मैं कुछ इसी तरह, यह पुष्टि की है करने के लिए अच्छा के बारे में सोच रहा था! – Nhor