Template Kompresi File Cloud Storage Secara Massal

Template Compress Cloud Storage Files adalah pipeline batch yang mengompresi file di Cloud Storage ke lokasi tertentu. Template ini berguna saat Anda perlu mengompresi file dalam jumlah besar sebagai bagian dari proses pengarsipan berkala. Mode kompresi yang didukung adalah: BZIP2, DEFLATE, GZIP. Output file ke lokasi tujuan akan mengikuti skema penamaan nama file asli yang ditambahkan dengan ekstensi mode kompresi. Ekstensi yang ditambahkan akan berupa salah satu dari: .bzip2, .deflate, .gz.

Setiap error yang terjadi selama proses kompresi akan ditampilkan ke file kegagalan dalam format CSV nama file, pesan error. Jika tidak ada kegagalan yang terjadi saat menjalankan pipeline, file error akan tetap dibuat tetapi tidak akan berisi data error.

Persyaratan pipeline

  • Kompresi harus dalam salah satu format berikut: BZIP2, DEFLATE, GZIP.
  • Direktori output harus ada sebelum menjalankan pipeline.

Parameter template

Parameter Deskripsi
inputFilePattern Pola file input yang akan dibaca. Misalnya, gs://bucket-name/uncompressed/*.txt.
outputDirectory Lokasi output yang menjadi tujuan penulisan. Misalnya, gs://bucket-name/compressed/.
outputFailureFile File output log error yang akan digunakan untuk kegagalan tulis yang terjadi selama proses kompresi. Misalnya, gs://bucket-name/compressed/failed.csv. Jika tidak ada kegagalan, file akan tetap dibuat tetapi akan kosong. Konten file menggunakan format CSV (Nama File, Error) dan terdiri dari satu baris untuk setiap file yang gagal dalam kompresi.
compression Algoritma kompresi yang digunakan untuk mengompresi file yang cocok. Harus berupa salah satu dari: BZIP2, DEFLATE, GZIP

Menjalankan template

Konsol

  1. Buka halaman Create job from template Dataflow.
  2. Buka Buat tugas dari template
  3. Di kolom Job name, masukkan nama pekerjaan yang unik.
  4. Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region default-nya adalah us-central1.

    Untuk daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.

  5. Dari menu drop-down Dataflow template, pilih the Bulk Compress Files on Cloud Storage template.
  6. Di kolom parameter yang disediakan, masukkan parameter value Anda.
  7. Klik Run job.

gcloud

Di shell atau terminal Anda, jalankan template:

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/Bulk_Compress_GCS_Files \
    --region REGION_NAME \
    --parameters \
inputFilePattern=gs://BUCKET_NAME/uncompressed/*.txt,\
outputDirectory=gs://BUCKET_NAME/compressed,\
outputFailureFile=gs://BUCKET_NAME/failed/failure.csv,\
compression=COMPRESSION

Ganti kode berikut:

  • JOB_NAME: nama pekerjaan unik pilihan Anda
  • REGION_NAME: region tempat Anda ingin men-deploy tugas Dataflow, misalnya us-central1
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda
  • COMPRESSION: algoritme kompresi pilihan Anda

API

Untuk menjalankan template menggunakan REST API, kirim permintaan HTTP POST. Untuk informasi selengkapnya tentang API dan cakupan otorisasinya, lihat projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/Bulk_Compress_GCS_Files
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://BUCKET_NAME/uncompressed/*.txt",
       "outputDirectory": "gs://BUCKET_NAME/compressed",
       "outputFailureFile": "gs://BUCKET_NAME/failed/failure.csv",
       "compression": "COMPRESSION"
   },
   "environment": { "zone": "us-central1-f" }
}

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud tempat Anda ingin menjalankan tugas Dataflow
  • JOB_NAME: nama pekerjaan unik pilihan Anda
  • LOCATION: region tempat Anda ingin men-deploy tugas Dataflow, misalnya us-central1
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda
  • COMPRESSION: algoritme kompresi pilihan Anda

Langkah selanjutnya