PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

AWS Glue - Potong tabel postgres tujuan sebelum dimasukkan

Saya sudah mencoba DROP/ TRUNCATE skenario, tetapi belum dapat melakukannya dengan koneksi yang sudah dibuat di Lem, tetapi dengan driver Python PostgreSQL murni, pg8000 .

  1. Unduh tar pg8000 dari pypi
  2. Buat __init__.py yang kosong di folder root
  3. Zipkan konten &unggah ke S3
  4. Referensikan file zip di Python lib path pekerjaan
  5. Tetapkan detail koneksi DB sebagai parameter pekerjaan (pastikan untuk menambahkan semua nama kunci dengan -- ). Centang kotak "Enkripsi sisi server".

Kemudian Anda cukup membuat koneksi dan menjalankan SQL.

import sys
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.dynamicframe import DynamicFrame
from awsglue.job import Job

import pg8000

args = getResolvedOptions(sys.argv, [
    'JOB_NAME',
    'PW',
    'HOST',
    'USER',
    'DB'
])
# ...
# Create Spark & Glue context

job = Job(glueContext)
job.init(args['JOB_NAME'], args)

# ...
config_port = 5432
conn = pg8000.connect(
    database=args['DB'], 
    user=args['USER'], 
    password=args['PW'],
    host=args['HOST'],
    port=config_port
)
query = "TRUNCATE TABLE {0};".format(".".join([schema, table]))
cur = conn.cursor()
cur.execute(query)
conn.commit()
cur.close()
conn.close()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kueri pivot dinamis menggunakan PostgreSQL 9.3

  2. Tidak ada permintaan kata sandi untuk pengguna super postgresql

  3. Mengapa transaksi serializable PostgreSQL menganggap ini sebagai konflik?

  4. Setelah mengimpor data di PostgreSQL, nilai kunci duplikat melanggar batasan unik

  5. Pulihkan dump jarak jauh ke RDS