我在空闲时收到很多事务(Airflow 和 Azure 文件共享)

I'm getting a lot of transactions while idling (Airflow and Azure File Share)

我需要将不同文件中的数据加载到 Azure SQL 数据库中。所以我设置了一个 VM 运行 Airflow 和两个 Azure 文件共享,一个用于我的 dags(这样我可以在不进入 VM 的情况下修改它们)另一个用于删除将要加载的文件。

我将这两个文件共享安装到 VM 和我的 PC 上,并将它们用作普通驱动器。

系统当前处于空闲状态,我可以在 Azure 的门户中看到我每 5 分钟收到大约 24k 个事务,但我看不到具体是什么在生成它们。

VM 是否可能不断请求文件列表或触摸文件共享以检查它是否仍然存在?我怎样才能避免这种情况?

谢谢!

我可以确认共享驱动器中的 dags 文件夹是导致交易量异常大的原因。我将 dags 文件夹移动到 VM 驱动器,现在一切恢复正常。

我 运行 遇到了类似的问题,每 5 分钟有 8000 笔交易,仅针对 3 个 DAG。通过将 file_parsing_sort_mode 设置为 alphabetical,我每 5 分钟将其减少到大约 800 个事务。

https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#file-parsing-sort-mode

默认设置 modified_time 将使 DAG 处理器在每次循环时从文件共享中检索文件的最后修改时间。奇怪的是,此操作甚至会触发比读取操作成本更高的写入操作。

https://github.com/apache/airflow/blob/2d79d730d7ff9d2c10a2e99a4e728eb831194a97/airflow/dag_processing/manager.py#L982-L1008

此处针对类似问题发布了相同答案: