如何使用PySpark将JSON列类型写入Postgres?

时间:2017-09-07 04:37:22

标签: postgresql jdbc pyspark pyspark-sql

我有一个Postgresql表,其中包含数据类型为JSONB的列。

如何通过JDBC将DataFrame插入Postgresql表?

如果我有一个UDF将body列转换为JSONB Postgresql数据类型,那么我应该使用相应的pyspark.sql.types是什么?

带有JSONB列的Postgresql表:

CREATE TABLE dummy (
  id bigint,
  body JSONB
);

谢谢!

1 个答案:

答案 0 :(得分:4)

事实证明,如果我将"stringtype":"unspecified"设置为JDBC的属性,Postgres将自动投射:


    properties = {
        "user": "***",
        "password": "***",
        "stringtype":"unspecified"
    }
    df.write.jdbc(url=url, table="dummy", properties=properties)