小编Arn*_*ang的帖子

EMR 和 S3 上的 Delta Lake (OSS) 表 - Vacuum 需要很长时间且没有作业

我正在使用开源版本将大量数据写入 Databricks Delta Lake,在 AWS EMR 上运行,并以 S3 作为存储层。我正在使用 EMRFS。

为了提高性能,我经常压缩和清理桌子,如下所示:

    spark.read.format("delta").load(s3path)
            .repartition(num_files)
            .write.option("dataChange", "false").format("delta").mode("overwrite").save(s3path)
    
    t = DeltaTable.forPath(spark, path)
    t.vacuum(24)
Run Code Online (Sandbox Code Playgroud)

然后它会从 S3 中删除 10 万个文件。然而,真空步骤需要极长的时间。在此期间,作业似乎处于空闲状态,但每隔约 5-10 分钟就会出现一个小任务,表明作业处于活动状态并正在执行某些操作。 从任务16开始

我读过这篇文章Spark:作业之间的长时间延迟,这似乎表明它可能与镶木地板有关?但我在增量方面没有看到任何选项来调整任何参数。

amazon-s3 amazon-emr apache-spark pyspark delta-lake

3
推荐指数
1
解决办法
3074
查看次数