我想知道airflow中的XCOM
是否有任何内存大小限制?
答案 0 :(得分:1)
查看源代码后,看起来没有内容,类型是SQLAlchemy中的大二进制文件。 Code 因此,根据documentation,目标平台使用的是无长度的二进制类型,例如MySQL上的BLOB和PostgreSQL上的BYTEA。
答案 1 :(得分:1)
Airflow 不是一个处理框架。它不是 Spark,也不是 Flink。 Airflow 是一个编排器,它是最好的编排器。在 Airflow 中没有处理大数据的优化,也没有分发它的方式(也许有一个执行器,但这是另一个主题)。如果尝试在任务之间交换大数据,最终会出现内存溢出错误!哦,你知道 Airflow 中的 xcom 限制大小吗?
猜猜看,这取决于您使用的数据库!
SQLite:2 去
Postgres:1 次
MySQL:64 KB
是的,64 KB 用于 MySQL!再次强调,XComs 仅用于共享少量数据。
答案 2 :(得分:-1)
选中this source code link,您会发现XCOM的最大大小为48KB。
当我尝试保存中间数据时遇到了相同的问题,但是它太大了。当我读取保存的文件时,没有。
所以尝试寻找另一种方法来替换它。