Ich versuche, eine CSV-Datei zu lesen und an eine Tabelle anzuhängen. Für die Datumsspalte wird Timestamp format must be yyyy-mm-dd hh:mm:ss
Exception ausgelöst.Apache Spark: Fixing das Zeitstempelformat
Ich ging ein paar Lösungen durch, aber keine funktionierte für mich.
Ich versuche, eine udf
zu verwenden, aber es wirft eine Ausnahme:
Schema for type java.util.Date is not supported
Hier ist, was ich versucht habe:
val dateFormat = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss")
val toDate = udf[Date, String](dateFormat.parse(_))
val schema = StructType(Array(StructField("id", LongType, nullable=true), StructField("name", StringType, nullable=true), StructField("date_issued", TimestampType, nullable=true)))
var df = spark.read.schema(schema).csv("./data/test.csv")
var df2 = df.withColumn("date_issued", toDate(df("date_issued")))
df2.show()
df2.write.mode(SaveMode.Append).jdbc("jdbc:postgresql://localhost:5432/db", "card", connectionProperties)
Ausprobieren Verwenden 'java.sql.date' statt' java.util.date' – Shankar
'' SimpleDateFormat' gibt java.util.date' –
meine Antwort aktualisiert, bitte überprüfen. – Shankar