Airflow 中 XCOM 的最大内存大小

non*_*ono 10 airflow

我在想,如果有一个任意的内存大小限制XCOM气流

小智 8

Airflow 不是一个处理框架。它不是 Spark,也不是 Flink。Airflow 是一个协调器,而且是最好的协调器。Airflow 中没有处理大数据的优化,也没有分发数据的方法(也许只有一个执行器,但这是另一个主题)。如果您尝试在任务之间交换大数据,您最终会遇到内存溢出错误!哦,你知道 Airflow 中 xcom 的大小限制吗?

这取决于您使用的数据库:

  1. SQLite:2 GB
  2. Postgres:1 GB
  3. MySQL:64 KB

是的,MySQL 为 64 KB!再次强调,仅在共享少量数据时才使用 XCom。

参考: https: //marclamberti.com/blog/airflow-xcom/

  • @josh-fell“SQLite:2 GB”和“Postgres:1 GB”对吗?:D (2认同)

New*_*ewt 7

根据源代码查看此源代码链接,XCOM最大大小为48KB。


non*_*ono 5

查看源代码后,它看起来没有,类型是 SQLAlchemy 中的大型二进制文件。Code So 根据文档是目标平台的无长度二进制类型,例如 MySQL 上的 BLOB 和 PostgreSQL 上的 BYTEA。