首页 > 解决方案 > GCP Cloud Composer - 无法将大文件下载到数据文件夹

问题描述

每周我都必须从 ftp 服务器下载一个文件到 GCS 存储桶,然后将该文件从 GCS 存储桶导入 BigQuery。我开始在 GCP Cloud Composer 中实现这个数据流作业。

我将数据流分为三个任务

我在将文件从 ftp 服务器下载到 Cloud Composer 数据文件夹时遇到问题。文件大小约为 20 Gb。我使用wget命令下载文件,确切的命令是wget -c "remote_file_path" -P "/home/airflow/gcs/data". 任务开始正常,但在 30 分钟后失败,数据文件夹中的文件大小反映为零字节。我检查了日志,没有发现任何错误。

我对其他大小为 1Gb 的文件尝试了相同的过程,它就像魅力一样。

我也尝试使用SFTPOperation,运行一小时后出现错误提示Key-exchange timed out waiting for key negotiation

请帮我解决这个问题。我也愿意接受其他解决方案来实现这个数据流。

谢谢你。

标签: google-cloud-platformdownloadairflowgoogle-cloud-composergcsfuse

解决方案


更新 Cloud Composer 环境为我们解决了这个问题。

我们遇到过文件大于约的类似问题。1GB。30 分钟后任务失败,/data 文件夹中的文件大小为 0 字节。

我们使用的是 Cloud Composer 1.12.3 版。发行说明(https://cloud.google.com/composer/docs/release-notes 1.12.5 版提及;

改进了 GCSfuse 稳定性以解决挂载目录不可用的间歇性问题

所以我们已经将 Cloud Composer 实例更新到了 1.13.0 版本,它似乎解决了这个问题。


推荐阅读