簡體   English   中英

快速轉儲Azure表

[英]Dumping Azure tables quickly

我的任務是轉儲具有任意未知架構的整個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),否則AFAIK都需要采用自上而下的方法,即刻正在執行的操作。 為了使您並行觸發有效運行的查詢,您必須在查詢中包括PartitionKey。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM