google-cloud-platform - 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 版。发行说明(https://cloud.google.com/composer/docs/release-notes 1.12.5 版提及;
改进了 GCSfuse 稳定性以解决挂载目录不可用的间歇性问题
所以我们已经将 Cloud Composer 实例更新到了 1.13.0 版本,它似乎解决了这个问题。
推荐阅读
- javascript - 执行 Firebase 事务时如何检查节点的值?
- java - 多线程读取文件并执行runnable
- selenium - 自动提示文本自动 travelocity.com 上的 xpath 失败
- excel - 来自 2 列或更多列的 VBA 唯一值
- python - Python unittest - 在 0.000 秒内额外运行 0 次测试
- javascript - 使用 javascript 滚动侧边栏
- python - 使用 pywinauto 访问 Putty 输出流
- scala - 如何在 scalaj-http 中为 multipart/form-data 请求添加文件作为参数?
- angular - 如何将数据表放在中间而不占整个宽度
- r - 估算/填补时间段之间的缺失值