PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да запазите String като тип JSONB в postgres, когато използвате AWS Glue

Предпочитам да използвам собствена рамка за данни на spark, защото ми позволява повече персонализиране. Мога да използвам stringtype свойство за прехвърляне на json поле от рамка с данни към jsonb поле в таблицата. В този случай моята рамка с данни има две полета.

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)

Преди да изпълните горния скрипт, трябва да създадете таблицата в postgresql, тъй като свойството mode е зададено като добавяне . Това е както следва:

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. Увеличете стойността на колоната при определено условие в SQL заявка на Postgresql

  2. Не може да се свърже с PostgreSQL база данни на Heroku с помощта на Ruby - не може да се преведе името на хоста

  3. Система за влизане, използваща физически потребители на postgres, а не логически потребители

  4. postgresql 9.1 - достъп до таблици чрез функции

  5. Мога ли да съкращавам таблици динамично?