2017-03-26 15 views
1

Google Cloud Storageのdocumentationによれば、gsutil compose(下記参照)の使用にはいくつかの制限があります。Google Cloud Storageで100万個のファイルを連結する方法

同じバケット(〜100万)に多数のファイルを結合する効率的な方法はありますか?

私が正しく理解していれば、私は32のグループに参加しなければならないでしょう。

1回の操作で構成できるコンポーネントの数には(現在32個)という制限があります。

特定のコンポジットオブジェクトのコンポーネントの総数には(現在は1024)制限があります。つまり、各オブジェクトに最大で1023回追加することができます。

1秒あたりに作成できるコンポーネントの数には、プロジェクトごとのレート制限(現在は200)があります。このレートは、複合オブジェクトに追加されるコンポーネントと、そのコンポーネントである複合オブジェクトがコピーされるときにコピーされるコンポーネントの両方をカウントします。

+0

私は不思議です - 百万個のオブジェクトを構成するためのユースケースは何ですか? – jterrace

答えて

4

残念ながら、何度も何度も32のグループを組み合わせることにより、代わりに1024

の「総計」コンポーネントの限界まで、動作しません、何をしなければならないだろうことは、これは次のとおりです。

  1. 100万個の元のファイルA(〜1,000,000個のオブジェクト)のセットとしましょう。
  2. Aの32個のオブジェクトのグループごとに作成を呼び出し、セットB(〜30,000個のオブジェクト)を生成します。 Bの各オブジェクトには32のコンポーネントカウントがあります。
  3. セットC(〜1000オブジェクト)を生成する、Bの32個のオブジェクトのグループごとにグループを作成します。これらの新しいオブジェクトは、それぞれ32 * 32個のコンポーネント、つまり1024個のコンポーネントを持ちます。これはまさに限界です。あなたはそれ以上直接それらを構成することはできません。
  4. これは、コンポーネントカウントを1に戻します。
  5. Cの32個の要素から成るグループごとに作成を呼び出し、セットD(〜30個のオブジェクト)を生成します。
  6. コールは、この作業の多く

D.のすべてが大幅に物事をスピードアップすることになる、並行して行うことができます組み合わせることを一度構成します。

+0

同じ場所またはストレージクラスでの「書き換え」はコンポーネント数をリセットしないことに言及する必要があります。残念ながら、それは合理的に簡単な操作であると思われるものには、本当にハックなアプローチが必要です。 – sebster

関連する問題