1
Google Cloud Dataflowが新しく、GCS(Google Cloud Storage)のファイルをあるバケットから別のバケットにコピーして名前を変更する必要があります。例の回答は高く評価されます。Google Cloud Dataflowからgsutilにアクセスできますか?はいの場合、誰かが例を挙げて説明してもらえますか?
Google Cloud Dataflowが新しく、GCS(Google Cloud Storage)のファイルをあるバケットから別のバケットにコピーして名前を変更する必要があります。例の回答は高く評価されます。Google Cloud Dataflowからgsutilにアクセスできますか?はいの場合、誰かが例を挙げて説明してもらえますか?
技術的には可能ですが、Dataflowを使用してファイルをピックアップし、gustilのラッパーとしてではなく新しいバケットに移動する方が良いでしょう。
必要なクラスはbeam.io.gcsio.GcsIO()でなければならず、必要な場所にファイルを持ち上げて置くことができるはずです。
これは、バケット間を移動するだけでなく、ローカルワーカーにダウンロードするために使用できますか?私はgoogle-cloud-storageのpythonモジュールを試してみました。大きな(3GB)のオブジェクトの場合はgsutilと比べてうまく動作しません。 – bw4sz
はい、そのメソッド呼び出しは、ストレージから渡されたオブジェクトと実行中のデータフローワーカーのローカルインスタンスにロードされます。 より大きいオブジェクトを推奨すると、20 MBを超えると、そのオブジェクトを実行可能なバンドルに刻み込み、そのようなパフォーマンスを向上させるようにそのオブジェクトを直列化します。これは、あなたが扱っているオブジェクトを分解できると仮定しています。 – bR3nD4n
うん、ちょうどちょっと丸いが、チャンクに取り組んでいる。チャンクを作成するには、ファイルをダウンロードしてから、チャンクにデータフローを再アップロードして実行する必要があります。ローカルダウンロードの構文に関するサンプルコードを1行与えることができます。私が見るものは、やや簡潔です。https://beam.apache.org/documentation/sdks/pydoc/0.6.0/_modules/apache_beam/io/gcp /gcsio.html – bw4sz