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

标签 postgresql jdbc pyspark apache-spark-sql

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

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

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

带有 JSONB 列的 Postgresql 表:

CREATE TABLE dummy (
  id bigint,
  body JSONB
);

谢谢!

最佳答案

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


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

关于postgresql - 如何使用 PySpark 将 JSON 列类型写入 Postgres?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46087908/

相关文章:

postgresql - 具有复合主键的序列

postgresql - pg_column_size 怎么可能小于 octet_length?

java - executeUpdate() 总是返回 1

java - 我如何调用 sqljdbc_auth.dll

apache-spark - 一个多小时执行pyspark.sql.DataFrame.take(4)

PostgreSQL 访问 generate_series() 单元格

Android 应用程序中的 java.lang.NoSuchMethodError

pyspark - Databricks - 读取流 - Delta Live Tables

python-3.x - 使用 pyspark 跟踪具有附加条件的前一行值

postgresql - 如何删除docker容器中的postgres数据库