説明では、「複数のファイルを1つのgzipに圧縮する必要がある」と指定します。これにはコンピュータのクラスタが必要であることは私には分かりません。 tarとgzipを一緒に使用したいと思うように聞こえます。
tarユーティリティはアーカイブファイルを作成して圧縮することもできます。内容を抽出するために
$ # Create a directory with a few input files
$ mkdir myfiles
$ echo "This is file1" > myfiles/file1.txt
$ echo "This is file2" > myfiles/file2.txt
$ # (C)reate a compressed archive
$ tar cvfz archive.tgz myfiles/*
a myfiles/file1.txt
a myfiles/file2.txt
$ # (V)erify the archive
$ tar tvfz archive.tgz
-rw-r--r-- 0 myuser mygroup 14 Jul 20 15:19 myfiles/file1.txt
-rw-r--r-- 0 myuser mygroup 14 Jul 20 15:19 myfiles/file2.txt
を使用します:
$ # E(x)tract the archive contents
$ tar xvfz archive.tgz
x myfiles/file1.txt
x myfiles/file2.txt
UPDATE:たとえば
を更新し、問題の説明では、あなたが複数の注文を同時に処理有することが示されています。結果をタール表示する必要がある頻度が低く、タール表示の結果が非常に時間に影響されない場合、単一のノードでこれを実行する可能性があります。
しかし、問題の規模が大きくなるにつれて、Pipelines APIの使用を検討することがあります。
固定されたクラスタを実行し続けるのではなく、顧客の注文が完了したときに「パイプライン」(この場合は1つのタスク)を開始できます。
パイプラインAPIを呼び出すと、顧客のファイルをダウンロードしてタールアップし、結果として得られるtarファイルをクラウドストレージにプッシュすることを目的とするVMが起動します。 Pipelines APIインフラストラクチャは、Cloud Storageとの間でコピーを行います。 tarコマンドラインを指定するだけで効果的です。この例では、ファイルのリストをダウンロードして、独立して、それぞれを圧縮します
https://github.com/googlegenomics/pipelines-api-examples/tree/master/compress
:
は、ここに似た何かをする例があります。入力ファイルのリストを簡単に修正することができます。
詳しくは、https://github.com/googlegenomics/pipelines-api-examples githubリポジトリを参照してください。
-Matt
一緒に圧縮されるファイルは、クラウドストレージ内の異なるフォルダにあります。圧縮後、単一のzip/gzipは別のクラウドストレージフォルダに戻されます –
私はより具体的に私の質問を更新しました。最終的には、このプロセスでtarを使用したいと思っていますが、同時に動作する可能性の高い操作のために、クラスタがまだ必要であると感じています。クラスタ全体の操作は私にとって非常に新しいものです。そして、弾力クラスターとグリッドエンジンツールに関する情報は絶対にありません。 –