我有问题要从谷歌数据存储区下载带有线程的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#中的最快方式的主要内容,如果未能解决你的问题,请参考以下文章
如何一次性将整个 blob(图像)文件夹从谷歌存储桶下载到 AI Platform Notebooks?