[英]handle null values while converting string to date in PySpark
我正在 AWS Glue 中構建作業,我的表有一個名為 booking 的列,數據類型為字符串。 它包括一些 null 值以及日期信息。 使用 **pySpark ** 數據框將字符串轉換為日期時,這些 null 值會導致問題。
預訂 | 姓名 |
---|---|
11.01.2022 | 約翰 |
null | 最大限度 |
我嘗試了多種解決方法。
使用fillna() 和 fill()將 null 值替換為虛擬日期 01.01.1900。 不幸的是,膠水作業拋出了一個錯誤,指出ImportError: cannot import name 'fill' from 'pyspark.sql.functions'我的想法是用虛擬日期替換 null 值,然后使用 to_date function 將其轉換。
寫作條件:
df_spark = df_spark.withColumn( "booking", when(df_spark.booking.isNull(), "01.01.1900").otherwise(df_spark.booking) )
df_spark = df_spark.withColumn( "buchungs_datum", to_date(df_spark["buchungs_datum"],"dd.MM.yyyy") )
這也會拋出超級奇怪的錯誤信息(附上截圖)
df_spark = df_spark.withColumn( "預訂", to_date(df_spark["預訂"], 無) )
你能幫我用正確的方法嗎?
提前謝謝了。
在“WithColumn”中使用合並 function。 這會將 null 替換為您提供的值。
不幸的是膠水作業拋出一個錯誤,指出 ImportError: cannot import name 'fill' from 'pyspark.sql.functions'
fill
是您在特定DataFrame
上調用的方法,因此您無需導入它。 它本身是 PySpark 的一部分,因此如果 PySpark 代碼中的 rest 運行正常,那么它應該沒有問題。 您可以在此處參考有關如何使用它的文檔 - https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrameNaFunctions.fill.html#pyspark- sql-dataframenafunctions-fill
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.