我正在嘗試使用下面的代碼(在 Databricks 筆記本中)將列的型別從字串更改為日期時間。
import org.apache.spark.sql.functions._
val df\ = df.withColumn("end",col("end").cast(DateType))
df\.printSchema()
或者像這樣:
df.createOrReplaceTempView("CastExample")
val df4 = spark.sql("DATE(end) from CastExample")
df4.printSchema()
df4.show(false)
但我得到這個錯誤:
SyntaxError: invalid syntax
File "<command-1642181972810133>", line 2
val df4 = spark.sql("DATE(end) from CastExample")
^
SyntaxError: invalid syntax
“瓦爾”
它似乎意味著“不可變參考”或其他東西,但我在網上找不到任何關于它的資訊。有很多使用它的代碼示例,但沒有人提到它為什么存在。或者我以錯誤的方式搜索它。它似乎來自 Scala,但我不知道......也許我沒有匯入一些東西。
我將不勝感激任何建議。
uj5u.com熱心網友回復:
您不應該使用 'val' 作為 Scala 語法,如果您想要 df4 中的所有 df 列,請使用 *.
df.createOrReplaceTempView("CastExample")
df4 = spark.sql("SELECT *, DATE(end) as new_name from CastExample")
df4.printSchema()
df4.show(10,False)
您也可以使用 PySpark 來實作相同的目的。
df4=df.select(to_date(df.end).alias('new_name'))
df4.show(10,False)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/422304.html
標籤:
