我一直在尝试使用 AWS Glue (pyspark) 将一些数据从 S3 加载到 Aurora 数据库 (RDS),但我发现它的运行速度非常慢(大约 25 分钟内 150 万行)。
我们使用的代码看起来像这样(我不得不删除“真实”的细节):
glueContext.create_dynamic_frame.from_catalog(database = "db", table_name = "mydata").toDF().createOrReplaceTempView("mytable")
my_df = spark.sql("""
SELECT * from mytable
""")
conf = glueContext.extract_jdbc_conf("Aurora")
url = conf["url"] + "/platform?rewriteBatchedStatements=true"
my_df.write.option("truncate", "true").jdbc(url, "myfacttable", properties=conf, mode="overwrite").
我不得不承认我对此还很陌生,我尝试了很多东西(rewriteBatchedStatements、禁用的 autovaccum 等)
在从 S3 到 Aurora 的负载中,是否有任何明显的我遗漏的东西会导致如此糟糕的性能?