AirFlow 的变量函数确实存在最大记录限制,可以通过调整相关配置参数来解决。默认情况下,AirFlow 的变量函数在数据库中可以存储最多 5000 条记录。如果需要存储更多记录,可以修改 AirFlow 配置文件中的 max_variable_result_size 参数,并重启 AirFlow 服务。
修改 AirFlow 配置文件(airflow.cfg),将 max_variable_result_size 参数改为一个更大的值,例如 10000:
[maximum_variable_result_size] max_variable_result_size = 10000
重启 AirFlow 服务:
$ airflow webserver -D $ airflow scheduler -D
然后在 AirFlow 中就可以使用更大数量的变量记录了。例如,可以使用以下代码创建 10000 个变量记录:
from airflow.models import Variable
for i in range(10000): Variable.set("my_variable_" + str(i), i)
注意:增加 max_variable_result_size 可能会导致数据库负载过重,所以应适当调整该参数的值。