我有问题要从谷歌数据存储区下载带有线程的1.5 gb数据和C#中的最快方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我有问题要从谷歌数据存储区下载带有线程的1.5 gb数据和C#中的最快方式相关的知识,希望对你有一定的参考价值。

我有1.5Gb的Google数据存储数据(大约800000个实体),下载整个数据大约需要4000秒。

1)是否可以使它快速?

2)我们可以在请求Google Datastore的客户端API时使用“accept-encoding:gzip”压缩数据吗?

1)我已尝试使用RunQueryLazily,但它将以300实体/秒的速度进行批量处理,但下载整个数据需要2666秒,但速度并不快。

Query queryString = new Query(kindname);
var data = _db.RunQueryLazily(queryString);

foreach (Entity entity in data)

{

....

store in inner class model

....

}

输出结果将是大数据列表。

答案

1)如果您希望更快地获取所有数据,则应考虑使用Cloud Dataflow并行化查询。从Cloud Datastore读取Dataflow的连接器对于python和java都存在。内置连接器列表位于https://beam.apache.org/documentation/io/built-in/

2)如果您的请求包含'Accept-Encoding:gzip',则应该已经压缩了响应。

以上是关于我有问题要从谷歌数据存储区下载带有线程的1.5 gb数据和C#中的最快方式的主要内容,如果未能解决你的问题,请参考以下文章

将数据从谷歌数据存储复制到 CSV

gsutil - 如何从谷歌私有云复制/下载所有文件?

如何一次性将整个 blob(图像)文件夹从谷歌存储桶下载到 AI Platform Notebooks?

从谷歌静态地图中的像素坐标获取经度/纬度

是否使用数据流管道(未内置自定义)从谷歌存储到 bigquery 摄取数据(批量)?

从谷歌地图 v1 的数据库中绘制经纬度