を使用して日付を解析しようとしていますto_date()
が、次の例外が発生します。
SparkUpgradeException: Spark 3.0 へのアップグレードにより、異なる結果が返される場合があります: 新しいパーサーで '12/1/2010 8:26' を解析できません。 spark.sql.legacy.timeParserPolicy を LEGACY に設定して Spark 3.0 より前の動作を復元するか、CORRECTED に設定して無効な日時文字列として処理することができます。
例外は、レガシー Time Parser を使用する必要があることを示唆していますが、まず、レガシーに設定する方法がわかりません。
これが私の実装です
dfWithDate = df.withColumn("date", to_date(col("InvoiceDate"), "MM/dd/yyyy"))
私の日付は次の形式です
+--------------+
| InvoiceDate|
+--------------+
|12/1/2010 8:26|
|12/1/2010 8:26|
|12/1/2010 8:26|
|12/1/2010 8:26|
|12/1/2010 8:26|
ベストアンサー1
spark.sql("set spark.sql.legacy.timeParserPolicy=LEGACY")
df.withColumn("date", to_date(col("InvoiceDate"), "MM/dd/yyyy")).show()
+--------------+----------+
| InvoiceDate| date|
+--------------+----------+
|12/1/2010 8:26|2010-12-01|
+--------------+----------+
# in above code spark refers SparkSession