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

Posted

技术标签:

【中文标题】我在空闲时收到很多交易(Airflow 和 Azure 文件共享)【英文标题】:I'm getting a lot of transactions while idling (Airflow and Azure File Share) 【发布时间】:2021-03-24 06:02:35 【问题描述】:

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

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

系统当前处于空闲状态,我可以在 Azure 的门户中看到我每 5 分钟收到大约 24k 笔交易,但我看不到具体是什么产生了这些交易。

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

谢谢!

【问题讨论】:

【参考方案1】:

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

【讨论】:

嗨,我也有同样的问题。请让我知道我们是否可以在 Azure 中创建托管磁盘,然后将此磁盘挂载到 pod 中。不确定我们是否可以将磁盘挂载到多个 pod。【参考方案2】:

我遇到了类似的问题,每 5 分钟就有 8k 个事务,只有 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

在此处发布类似问题的相同答案:https://***.com/a/70524563/6654620

【讨论】:

以上是关于我在空闲时收到很多交易(Airflow 和 Azure 文件共享)的主要内容,如果未能解决你的问题,请参考以下文章

Apache Atlas 和 Airflow 集成

Google Cloud Composer (Apache Airflow) 无法访问日志文件

使用 Airflow 从 Google Storage 导出到 BQ 时出错

使用来自 Airflow 的 Python 在 Pub/Sub 中发布消息时遇到问题

Airflow + Nginx 设置给出了 Airflow 404 = 很多圈子

如果 Android 设备长时间处于空闲状态,则不会收到推送通知