Я использовал библиотеку pymysql в качестве zip-файла, загруженного в AWS S3 и настроенного в параметрах задания AWS Glue.А для UPSERT я использовал INSERT INTO TABLE .... ON DUPLICATE KEY.
Поэтому, основываясь на проверках первичного ключа, код либо обновит запись, если она уже существует, либо вставит новую запись.Надеюсь это поможет.Пожалуйста, укажите это:
import pymysql
rds_host = "rds.url.aaa.us-west-2.rds.amazonaws.com"
name = "username"
password = "userpwd"
db_name = "dbname"
conn = pymysql.connect(rds_host, user=name, passwd=password, db=db_name, connect_timeout=5)
with conn.cursor() as cur:
insertQry=INSERT INTO ZIP_TERR(zip_code, territory_code, territory_name,
state) VALUES(zip_code, territory_code, territory_name, state) ON
DUPLICATE KEY UPDATE territory_name = VALUES(territory_name), state =
VALUES(state);"
cur.execute(insertQry)
conn.commit()
cur.close()
В приведенном выше примере кода территория, почтовый индекс являются первичными ключами.См. Также здесь: Подробнее о циклических вставках с использованием циклов for