快速转储Azure表 [英] Dumping Azure tables quickly

查看:10
本文介绍了快速转储Azure表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的任务是转储具有任意未知模式的整个Azure表。执行此操作的标准代码如下所示:

TableQuery<DynamicTableEntity> query = new TableQuery<DynamicTableEntity>();
foreach (DynamicTableEntity entity in table.ExecuteQuery(query))
{
  // Write a dump of the entity (row).
}

根据表的不同,它在我的系统上以每秒1000-3000行的速度工作。我猜这种(缺乏)性能与发出单独的HTTP请求以块为单位检索数据有关。遗憾的是,某些表的大小为数GB,因此这需要相当长的时间。

有没有一种很好的方法来并行化上面的内容,或者用其他方法来加速它?这些HTTP请求似乎可以由多个线程发送,就像在Web爬虫程序等中一样。但是,我看不到立即这样做的方法。

推荐答案

除非您知道表中实体的PartitionKeys(或包括PartitionKey的其他查询条件),否则您将需要采取您现在正在执行的自上而下的方法。为了使您能够高效地并行启动查询,您必须在查询中包含PartitionKey。

这篇关于快速转储Azure表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆