快速转储Azure表 [英] Dumping Azure tables quickly
本文介绍了快速转储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屋!
查看全文