通过 Pyspark 数据帧,从 SQL Server 选择记录(通过 Spark.read.format)并使用 dataframe.write 选项插入到 Postgres 表中。在插入过程中,它抛出以下错误。
批次条目 0 INSERT INTO 测试 ("Num","DateCreated","DateLastModified","RecordType","RecordSubType","coName","RunDateTime","RunIdent","Payer","ProcessYear","etlInsertId ","etlUpdateId") 值 (1,'2019-06-18 19:45:36.8716624 -06:00','2019-06-18 19:45:36.8716624 -06:00','H',' ' ,'DataBricks','202106181943','CONSUMER','111023',2022,0,0) 已中止:错误:列“DateCreated”的类型为带时区的时间戳,但表达式的类型为字符变化
“DateCreated”是 Postgres 表中的带有时区的 TIMESTAMP(数据类型)。
让我知道我在这里犯了什么错误?
提前致谢。
我希望将记录插入到 Postgres 表中。
您需要将一个字符串转换为 tomestamp
CREATE tABLE mytab ("DateCreated" timestamp
with time zone)
CREATE TABLE
INSERT INTO mytab VALUES('2019-06-18 19:45:36.8716624 -06:00'::timestamp with time zone)
INSERT 0 1
SELECT * FROM mytab
创建日期 |
---|
2019-06-19 01:45:36.871662+00 |
SELECT 1