大量解壓縮 Cloud Storage 檔案範本

「大量解壓縮 Cloud Storage 檔案範本」是一個可將 Cloud Storage 中的檔案解壓縮到指定位置的批次管道。當您希望在遷移期間使用壓縮資料來盡量降低網路頻寬費用,同時又希望能在遷移之後執行未壓縮資料時充分發揮分析處理程序的效率,這個功能就可以派上用場了。管道會在單一執行期間自動處理多個壓縮模式,並根據檔案副檔名 (.bzip2.deflate.gz.zip) 判斷要使用的解壓縮模式。

管道相關規定

  • 要解壓縮的檔案必須使用下列其中一種格式:Bzip2DeflateGzipZip
  • 在執行管道之前,輸出目錄必須已存在。

範本參數

參數 說明
inputFilePattern 要讀取的輸入檔案模式,例如 gs://bucket-name/compressed/*.gz
outputDirectory 要寫入的輸出位置,例如 gs://bucket-name/decompressed
outputFailureFile 解壓縮期間寫入失敗的錯誤記錄輸出檔案,例如,gs://bucket-name/decompressed/failed.csv。如果沒有任何失敗,系統會建立空白的檔案。檔案內容為 CSV 格式 (檔案名稱, 錯誤),解壓縮失敗的每個檔案各一行錯誤訊息。

執行範本

控制台

  1. 前往 Dataflow 的「Create job from template」(透過範本建立工作) 頁面。
  2. 前往「依據範本建立工作」
  3. 在「工作名稱」欄位中,輸入專屬工作名稱。
  4. 選用:如要使用區域端點,請從下拉式選單中選取值。預設區域為 us-central1

    如需可執行 Dataflow 工作的地區清單,請參閱「Dataflow 位置」。

  5. 從「Dataflow template」(Dataflow 範本) 下拉式選單中選取 the Bulk Decompress Files on Cloud Storage template。
  6. 在提供的參數欄位中輸入參數值。
  7. 按一下「Run Job」(執行工作)

gcloud

在殼層或終端機中執行範本:

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/Bulk_Decompress_GCS_Files \
    --region REGION_NAME \
    --parameters \
inputFilePattern=gs://BUCKET_NAME/compressed/*.gz,\
outputDirectory=gs://BUCKET_NAME/decompressed,\
outputFailureFile=OUTPUT_FAILURE_FILE_PATH

更改下列內容:

  • JOB_NAME: 您選擇的不重複工作名稱
  • REGION_NAME: 您要部署 Dataflow 工作的地區,例如 us-central1
  • VERSION: 您要使用的範本版本

    您可以使用下列值:

  • BUCKET_NAME:Cloud Storage bucket 的名稱
  • OUTPUT_FAILURE_FILE_PATH:您指定用來存放內含失敗資訊的檔案的路徑

API

如要使用 REST API 執行範本,請傳送 HTTP POST 要求。如要進一步瞭解 API 和授權範圍,請參閱 projects.templates.launch

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/Bulk_Decompress_GCS_Files
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://BUCKET_NAME/compressed/*.gz",
       "outputDirectory": "gs://BUCKET_NAME/decompressed",
       "outputFailureFile": "OUTPUT_FAILURE_FILE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

更改下列內容:

  • PROJECT_ID: 您要執行 Dataflow 工作的專案 ID Google Cloud
  • JOB_NAME: 您選擇的不重複工作名稱
  • LOCATION: 您要部署 Dataflow 工作的地區,例如 us-central1
  • VERSION: 您要使用的範本版本

    您可以使用下列值:

  • BUCKET_NAME:Cloud Storage bucket 的名稱
  • OUTPUT_FAILURE_FILE_PATH:您指定用來存放內含失敗資訊的檔案的路徑

後續步驟