sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan gemmer du String som JSONB-type i postgres, når du bruger AWS Glue

Jeg foretrækker at bruge native spark dataframe, fordi det giver mig mulighed for mere tilpasning. Jeg kan bruge stringtype egenskab til at caste json-felt fra dataramme til jsonb-felt i tabellen. I dette tilfælde har min dataramme to felter.

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)

Før du udfører ovenstående script, bør du oprette tabellen i postgresql, fordi egenskaben tilstand er indstillet som tilføj . Dette som følger:

create table your_tablename
(
    my_json_field jsonb,
    another_field int
)



  1. MariaDB POWER() Forklaret

  2. Sådan angives sorteringen i en forespørgsel i SQL Server (T-SQL)

  3. MySQL Multiple Where-klausul

  4. Kan ikke oprette en række i størrelse 8937, som er større end det tilladte maksimum på 8060