取消
顯示的結果
而不是尋找
你的意思是:

得到日期和星期

棱角
新的貢獻者二世

你好,

我想要得到一個日期列的年份和星期。本周格式並不認可。

df_loaded = df_loaded。withColumn (week_year F.concat (F.lit (“3”), F.col(一周),F.col('這個')))

df_loaded = df_loaded。withColumn(“日期”,F.to_date (F.col (“week_year”)、“uwwyyyy”))

我得到這個錯誤:

但它不工作,我得到這個錯誤:

SparkUpgradeException:你可能會得到一個不同的結果由於升級引發3.0:無法識別DateTimeFormatter uwwyyyy”模式。1)可以設置spark.sql.legacy。timeParserPolicy火花3.0之前遺留恢複行為。2)您可以形成一個有效的datetime模式的指導https://spark.apache.org/docs/latest/sql-ref-datetime-pattern.html

任何想法如何從列在pyspark迄今周&年嗎?

1接受解決方案

接受的解決方案

pvignesh92
尊敬的貢獻者

@Pien Derkx可以設置火花sql formatter遺留和嚐試你的步驟。下麵是為我工作的。

spark.conf.set (“spark.sql.legacy。df timeParserPolicy”、“遺產”)。withColumn (date_expected to_date(坳(“dateinput”、“uwwyyyy”)),告訴()

dateinput - > 3312023

輸出來dateexected - > 2023-03-29

請讓我知道這工作。

在原帖子查看解決方案

5回複5

pvignesh92
尊敬的貢獻者

@Pien Derkx嗨,真的會有幫助如果你能分享一些樣本值,你正試圖定型連同你的預期結果,這樣我們可以試試。但我已經看到,在新的火花版本,你可以使用一個日期格式的文字前MM / dd / yyyy - - > m / d / y。這將工作。請看看你是否可以嚐試同一uwy和讓我知道。

棱角
新的貢獻者二世

嗨@Vigneshraja Palaniraj !謝謝你的幫助。

一些示例值:我年= 2023,周= 13,然後我讓他們結合成一個字符串:

df_loaded = df_loaded。withColumn (week_year F.concat (F.lit (“3”), F.col(一周),F.col('這個')))

我前麵添加“3”,因為我想要在本周的星期三。這導致這個字符串:3132023

我使用的日期:

df_loaded = df_loaded。withColumn(“日期”,F.to_date (F.col (“3132023”),“uwy”))

期望的日期我想要的是:2023/03/29(周三在13周)。

代碼沒有錯誤,但是當我試著顯示表,出現的錯誤

pvignesh92
尊敬的貢獻者

@Pien Derkx可以設置火花sql formatter遺留和嚐試你的步驟。下麵是為我工作的。

spark.conf.set (“spark.sql.legacy。df timeParserPolicy”、“遺產”)。withColumn (date_expected to_date(坳(“dateinput”、“uwwyyyy”)),告訴()

dateinput - > 3312023

輸出來dateexected - > 2023-03-29

請讓我知道這工作。

棱角
新的貢獻者二世

工作,謝謝!

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map