PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách lưu String dưới dạng JSONB type trong postgres khi sử dụng AWS Glue

Tôi thích sử dụng khung dữ liệu tia lửa gốc vì nó cho phép tôi tùy chỉnh nhiều hơn. Tôi có thể sử dụng stringtype thuộc tính để truyền trường json từ khung dữ liệu sang trường jsonb trong bảng. Đối với trường hợp này, khung dữ liệu của tôi có hai trường.

from pyspark import SparkConf

sc = SparkContext.getOrCreate(SparkConf())
spark = SparkSession(sc)

df = spark.read.format('csv') \
               .option('delimiter','|') \
               .option('header','True') \
               .load('your_path') 

##some transformation...

url = 'jdbc:postgresql://your_host:5432/your_databasename'
properties = {'user':'*****',
              'password':'*****',
              'driver': "org.postgresql.Driver",
              'stringtype':"unspecified"}
        
df.write.jdbc(url=url, table='your_tablename', mode='append', properties=properties)

Trước khi thực thi tập lệnh trên, bạn nên tạo bảng trong postgresql, vì thuộc tính mode được đặt là append . Điều này như sau:

create table your_tablename
(
    my_json_field jsonb,
    another_field int
)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tên Ràng buộc Mặc định trong PostgreSQL là gì?

  2. "LANGUAGE" plpgsql "VOLATILE" có nghĩa là gì?

  3. Liệt kê các cột có chỉ mục trong PostgreSQL

  4. cung cấp chứng chỉ cho kết nối tomcat jndi tới postgresql

  5. Đặt tên cho mỗi hàng trong bảng bằng một chuỗi 2 từ ngẫu nhiên