मेरे पास एक डेटाफ्रेम है जिसमें दो कॉलम (सी, डी) स्ट्रिंग कॉलम प्रकार के रूप में परिभाषित किए गए हैं, लेकिन कॉलम में डेटा वास्तव में तिथियां हैं। उदाहरण के लिए कॉलम सी की तारीख "01-एपीआर-2015" और कॉलम डी "20150401" है, इसलिए मैं इन्हें दिनांक कॉलम प्रकार में बदलना चाहता हूं, लेकिन मुझे ऐसा करने का अच्छा तरीका नहीं मिला। मैं स्टैक ओवरफ़्लो को देखता हूं, मुझे स्प्रिंग कॉलम प्रकार को स्पार्क एसक्यूएल के डेटाफ्रेम में दिनांक कॉलम प्रकार में बदलने की आवश्यकता है। दिनांक स्वरूप हो सकता है "01-APR-2015" और मैं this post को देखो, लेकिन यह जानकारी नहीं थी तिथि से संबंधितडेटाफ्रेम में स्ट्रिंग से दिनांक तक कॉलम प्रकार को कैसे बदला जाए?
12
A
उत्तर
30
स्पार्क> = 2,2
आप to_date
उपयोग कर सकते हैं:
import org.apache.spark.sql.functions.{to_date, to_timestamp}
df.select(to_date($"ts", "dd-MMM-yyyy").alias("date"))
या to_timestamp
:
df.select(to_date($"ts", "dd-MMM-yyyy").alias("timestamp"))
मध्यवर्ती unix_timestamp
कॉल के साथ।
स्पार्क < 2,2
स्पार्क 1.5 जब से तुम unix_timestamp
समारोह का उपयोग कर सकते, लंबे समय के लिए स्ट्रिंग पार्स यह कास्ट करने के लिए टाइमस्टैम्प और to_date
काटना:
import org.apache.spark.sql.functions.{unix_timestamp, to_date}
val df = Seq((1L, "01-APR-2015")).toDF("id", "ts")
df.select(to_date(unix_timestamp(
$"ts", "dd-MMM-yyyy"
).cast("timestamp")).alias("timestamp"))
नोट:
स्पार्क संस्करण के आधार पर आपको SPARK-11724 के कारण कुछ समायोजन की आवश्यकता हो सकती है :
पूर्णांक प्रकार से टाइमस्टैम्प कास्टिंग स्रोत int को मिलिस में होने का व्यवहार करता है। टाइमस्टैंप से पूर्णांक प्रकारों तक कास्टिंग परिणाम सेकंड में बनाता है।
आप पैच न किया गया संस्करण unix_timestamp
उत्पादन का उपयोग करते हैं से गुणा की आवश्यकता है 1000
संबंधित मुद्दे
- 1. अपरकेस से लोअरकेस तक सरणी कुंजियों को कैसे बदला जाए?
- 2. पांडा डेटाफ्रेम में कॉलम से स्ट्रिंग मान को कैसे हटाएं
- 3. दिनांक अद्यतन होने पर डेटटाइम फ़ील्ड को कैसे बदला जाए?
- 4. timespan चर को एक पूर्णांक प्रकार में कैसे बदला जाए?
- 5. जेनकींस में एसएसएल से टीएलएस तक सुरक्षा प्रकार को कैसे बदला जाए?
- 6. Google स्थल API से प्लेसपिकर के सरल से उपग्रह तक मानचित्र प्रकार को कैसे बदला जाए?
- 7. पूरे कॉलम के मामले को लोअरकेस में कैसे बदला जाए?
- 8. स्वरूपित दिनांक के लोकेल को कैसे बदला जाए?
- 9. सी # में NaN स्ट्रिंग प्रस्तुति को कैसे बदला जाए?
- 10. अभिव्यक्ति में पैरामीटर के प्रकार को कैसे बदला जाए?
- 11. प्लेसहोल्डर को select2 में कैसे बदला जाए?
- 12. एक पोस्टग्रेएसक्यूएल तालिका में कॉलम के डेटा प्रकार को कैसे बदला जाए?
- 13. लूपिंग के बिना डेटाटेबल कॉलम वैल्यू को कैसे बदला जाए?
- 14. पांडा: कॉलम के सभी मूल्यों को कैसे बदला जाए?
- 15. एंड्रॉइड/जावा स्ट्रिंग दिनांक को लंबे प्रकार तक
- 16. स्पेसमैक्स को हेल्म से ivy में कैसे बदला जाए?
- 17. MySQL पर स्टोरेज इंजन प्रकार को कैसे बदला जाए?
- 18. स्प्लिट स्पार्क डेटाफ्रेम स्ट्रिंग कॉलम एकाधिक कॉलम में
- 19. नोडमेलर में "से" फ़ील्ड को कैसे बदला जाए?
- 20. प्रोग्रामेटिक रूप से डिफ़ॉल्ट JAXB दिनांक क्रमबद्धता को कैसे बदला जाए?
- 21. स्ट्रिंग कॉलम से स्पष्ट के पांडा डेटाफ्रेम कॉलम को कैसे उत्पन्न करें?
- 22. सबमिट बटन उपस्थिति को कैसे बदला जाए?
- 23. स्ट्रिंग को दिनांक प्रकार के प्रकार में परिवर्तित करें python
- 24. pyspark डेटाफ्रेम में कॉलम को कैसे हटाएं
- 25. sqlalchemy क्वेरी में स्ट्रिंग करने के लिए डेटाटाइम को कैसे बदला जाए?
- 26. Google OAuth2 - expires_in या token_expiry मान को कैसे बदला जाए?
- 27. '।' को कैसे हटाएं डेटाफ्रेम में कॉलम नाम से?
- 28. यार्न के संस्करण को कैसे बदला जाए?
- 29. अलगाव स्तर को कैसे बदला जाए?
- 30. डिफ़ॉल्ट पायथन संस्करण को कैसे बदला जाए?
मेरे संपादन अस्वीकार कर दिया गया है, लेकिन मैं बहुत यकीन है कि वहाँ एक "}" अपना पहला आयात लाइन में लापता है और आप "TO_DATE" लिखा हूँ लाइन 7 "to_timestamp" के बजाय – Fabich