GCP Cloud Composer-无法将大文件下载到数据文件夹

问题描述

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

我将数据流分为三个任务

  • 从ftp服务器下载文件并将其存储在Cloud Composer数据文件夹中。 (/home/airflow/gcs/data
  • 文件从Cloud Composer数据文件夹移动到GCS存储桶。
  • 将数据从GCS存储桶导入到BigQuery。

我在将文件从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

请帮助我解决这个问题。我也欢迎其他解决方案来实现此数据流。

谢谢。

解决方法

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

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

我们正在使用Cloud Composer 1.12.3版本。发行说明(提到{1.12.5版本的https://cloud.google.com/composer/docs/release-notes

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

因此,我们已将Cloud Composer实例更新为版本1.13.0,看来可以解决该问题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...