【发布时间】:2017-03-30 04:53:02
【问题描述】:
我的管道(python)正在编写从 BigQuery 读取的文本数据。 据我所知,我有两个选项可以将文本数据写入 S3。
第一个选项是自定义 Sink 的“Writer 子类”将每条记录写入 S3 存储桶目录。 根据我的经验,传输效率似乎非常低。 Writer 每 1 条记录花费大约一秒钟。(我的数据源也有数百万条记录!)
第二种选择是将文本数据发送到预先写入GCS的GCS。 我似乎这个选项效率低下。 原因是 GCS 和 DataFlow 之间发生了不必要的流量(上传/下载)。 (My Pipeline 不需要将文本数据存储到 GCS 中)
有没有比我的两个选项更好的写入 S3 的方法?
问候。
【问题讨论】:
-
欢迎来到 StackOverflow!您能否提供有关您的应用程序正在做什么的更多详细信息?例如,您希望将每条记录存储在单独的 Amazon S3 对象中,还是将数据附加到现有对象?您是否可以将数据存储在“本地”文件中,然后在文件有一定数量的记录时上传文件?您是否考虑过将数据发送到 Amazon Kinesis Firehose 以捕获流数据并将其存储在 Amazon S3 中?
标签: python amazon-s3 google-cloud-dataflow dataflow