2017-03-26 19 views
1

根據Google雲端存儲的documentation,使用gsutil compose(見下文)有一些限制。如何連接Google雲端存儲中的一百萬個文件

是否有一種更有效的方法來將大量文件合併到同一個存儲桶(〜100萬)?

如果我理解正確,我將不得不加入32個小組,然後繼續這樣做並再次加入?

請注意,在單個操作中可以組成的組件數量存在限制(當前爲32)。

給定複合對象的組件總數有限制(當前爲1024)。這意味着您最多可以追加到每個對象1023次。

每個項目的速率限制(當前爲200)可以構成每秒的組件數量。此比率計算被複制到組合對象的組件以及當它們所屬的組合對象被複制時被複制的組​​件。

+0

我很好奇 - 你的用例組成一百萬個對象有什麼用處? – jterrace

回答

4

不幸的是,一遍又一遍結合32組將無法正常工作,由於1024

而是「總計」成分的限制,你就必須要做到這一點:

  1. 讓我們來命名一百萬個原始文件A(〜1,000,000個對象)。
  2. 在A中產生集合B(約30,000個對象)的每個32個對象組上調用。 B中的每個對象的元件數量爲32.
  3. 對B中每組32個對象進行組合調用,產生組C(〜1000個對象)。這些新對象每個都有32 * 32個組件,或1024個。這正是極限。你不能直接撰寫他們。
  4. 在C的每個元素上調用「rewrite」。這會將組件數重置爲1.
  5. 對C中的每個32個元素組產生調用,產生D組(約30個對象)。
  6. 呼叫撰寫一次將所有D.

這項工作大部分都可以並行完成,這將大大加快速度。

+0

也許你應該提到在相同的位置或存儲類中「重寫」不會重置組件數量。不幸的是,對於那些應該是相當簡單的操作來說,需要一個非常冒險的方法。 – sebster

相關問題