sql >> データベース >  >> RDS >> PostgreSQL

AWSGlueを使用するときにpostgresで文字列をJSONBタイプとして保存する方法

    より多くのカスタマイズが可能になるため、ネイティブのsparkデータフレームを使用することを好みます。 stringtypeを使用できます。 jsonフィールドをデータフレームからテーブルのjsonbフィールドにキャストするプロパティ。この場合、私のデータフレームには2つのフィールドがあります。

    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)
    

    上記のスクリプトを実行する前に、プロパティ mode があるため、postgresqlでテーブルを作成する必要があります。 追加として設定されます 。これは次のとおりです:

    create table your_tablename
    (
        my_json_field jsonb,
        another_field int
    )
    



    1. doctrine2-フラッシュ効率を改善する方法は?

    2. MySQLvarcharインデックスの長さ

    3. ランダムな順序で行を返す

    4. Postgresqlで整数をインクリメントするためのAtomicUPDATE