Amazon web services 如何在AWS Glue作业脚本中从AWS RDS获取数据,并相应地转换数据并将其插入AWS RDS?

Amazon web services 如何在AWS Glue作业脚本中从AWS RDS获取数据,并相应地转换数据并将其插入AWS RDS?,amazon-web-services,stored-procedures,aws-lambda,amazon-rds,aws-glue,Amazon Web Services,Stored Procedures,Aws Lambda,Amazon Rds,Aws Glue,我想通过AWS Glue从s3 bucket csv插入数据,但数据的插入取决于AWS RDS中存储的数据(例如,如果该数据已存在,则不插入,或者如果该数据已存在,且仅更新该数据的某些属性,则更新值)。是否有任何方法可以从AWS Glue作业脚本中的RDS获取数据,然后相应地转换数据 我还想过在AWS胶水作业完成后给AWS lambda打电话。 aws glue job脚本是否有代码在aws glue job完成后调用lambda,或者是否有任何方法可以获得aws glue job的响应,比如S

我想通过AWS Glue从s3 bucket csv插入数据,但数据的插入取决于AWS RDS中存储的数据(例如,如果该数据已存在,则不插入,或者如果该数据已存在,且仅更新该数据的某些属性,则更新值)。是否有任何方法可以从AWS Glue作业脚本中的RDS获取数据,然后相应地转换数据

我还想过在AWS胶水作业完成后给AWS lambda打电话。 aws glue job脚本是否有代码在aws glue job完成后调用lambda,或者是否有任何方法可以获得aws glue job的响应,比如SNS或其他我们可以调用lambda的方法


我希望在aws rds表中插入数据后,调用一个存储过程来处理数据

我们已经成功地将数据直接从粘合作业插入MySQL Aurora集群,并通过简单地发送insert ON DUPLICATE KEY UPDATE语句来避免重复。它看起来像这样:

import mysql

# Other logic here...

# Convert to DataFrame (from a DynamicFrame) 
df = mapping.toDF()

# Connect to MySQL
db = mysql.connect(glueContext, 'name-of-mysql-connection', 'db')
cursor = db.cursor()

insert_statement = """
  INSERT INTO my_table
  (column1, column2, updated_at)
  VALUES(%s, %s, NOW())
  ON DUPLICATE KEY UPDATE
  column1 = %s,
  column2 = %s,
  updated_at = NOW()
  """

# Execute each statement
for row in df.rdd.collect():
  cursor.execute(insert_statement, (
    row['column1'],
    row['column2'],
    row['column1'],
    row['column2']
  ))

# Commit to the database
db.commit()
db.close()