【发布时间】:2021-08-23 14:35:27
【问题描述】:
我正在尝试创建一个将 MySQL 表下载到 GCS 存储桶的 Dag 任务。
但是,执行此操作的内置运算符 MySQLToGCSOperator 似乎将数据存储在内存中,直到它完成下载表。 由于我们的一些表超过 100 GB,这会导致工作人员在下载大型表时耗尽所有可用内存,从而导致我们的作曲家工作人员在消耗完服务器的所有内存后在某个时间点失败。
有没有办法在不消耗大量内存的情况下将 MySQL 表下载到 GCS?
我也尝试过更改 approx_max_file_size_bytes 参数和文件类型 (JSON/CSV),但没有任何区别。
使用 Airflow 2.0.2。
作曲家图片:composer-1.17.0-preview.6-airflow-2.0.2
【问题讨论】:
-
不清楚是否需要确认是内存问题,还是需要 MySQLToGCSOperator 的替代解决方案?
-
我需要您指定您在 Airflow 2.0.2 中使用的作曲家版本。如果您的作曲家版本不再支持 Airflow 2.0.2,这将解释为什么它可能对您不正常。此外,如果您指定您要针对的问题,我会很好,因为您的问题非常模棱两可。
-
@MBHAPhoenix 我想知道这是否正常,如果是,是否有其他解决方案?
-
@MariCruzR 为歧义道歉。为问题添加了更多信息。
-
MySQL DB 是否托管在Cloud SQL 中?还是外部数据库?
标签: google-cloud-platform airflow google-cloud-composer