Amazon S3 移轉作業

Amazon S3 專用的 BigQuery 資料移轉服務可讓您自動安排和管理從 Amazon S3 到 BigQuery 的週期性載入工作。

事前準備

建立 Amazon S3 移轉作業之前:

  • 確認您已完成啟用 BigQuery 資料移轉服務的一切必要動作。
  • 如果您要使用傳統 BigQuery 網頁版 UI 建立移轉作業,請允許瀏覽器中來自 bigquery.cloud.google.com 的瀏覽器彈出式視窗,以便查看權限視窗。您必須允許 BigQuery 資料移轉服務取得相關權限,以管理您的移轉作業。
  • 建立 BigQuery 資料集來儲存您的資料。
  • 請建立移轉作業的目的地資料表 (瞭解如何建立目的地資料表),並指定結構定義。目的地資料表必須遵循資料表命名規則。目的地資料表名稱也支援參數
  • 擷取您的 Amazon S3 URI、存取金鑰 ID,以及私密存取金鑰。如需存取金鑰管理方面的資訊,請參閱 AWS 說明文件
  • 移轉執行通知目前仍為 Alpha 版。如果您想要為 Cloud Pub/Sub 設定移轉執行通知,您必須具有 pubsub.topics.setIamPolicy 權限。如果您只是要設定電子郵件通知,就不需要 Cloud Pub/Sub 權限。詳情請參閱 BigQuery 資料移轉服務執行通知一文。

限制

Amazon S3 有下列限制:

  • 您目前無法使用指令列工具設定或更新 Amazon S3 的移轉作業。
  • 目前無法將 Amazon S3 URI 的值區部分參數化。
  • 視 Amazon S3 來源資料的格式而定,可能還有其他的限制。詳情請參閱:

必要權限

建立 Amazon S3 移轉作業之前:

  • 確認建立移轉作業的人員在 BigQuery 中具有以下必要權限:

    • 建立移轉作業的 bigquery.transfers.update 權限
    • 目標資料集上的 bigquery.datasets.update 權限

    bigquery.admin 預先定義的專案層級 Cloud IAM 角色包括 bigquery.transfers.updatebigquery.datasets.update 權限。如要深入瞭解 BigQuery 中的 Cloud IAM 角色,請參閱存取權控管一文。

  • 參閱 Amazon S3 的說明文件,以確保您已設定啟用移轉所需的任何權限。Amazon S3 來源資料至少必須套用 AWS 代管政策 AmazonS3ReadOnlyAccess

設定 Amazon S3 資料移轉作業

如何建立 Amazon S3 資料移轉作業:

主控台

  1. 前往 GCP 主控台的 BigQuery 網頁版 UI。

    前往 GCP 主控台

  2. 按一下 [Transfers] (傳輸作業)。

  3. 按一下 [Create a transfer] (建立移轉作業)

  4. 在「Create Transfer」(建立移轉作業) 頁面:

    • 在「Source type」(來源類型) 區段中,針對「Source」(來源),選擇 [Amazon S3]

      移轉作業來源

    • 在「Transfer config name」(轉移設定名稱) 區段中,針對「Display name」(顯示名稱) 輸入移轉作業的名稱,例如 My Transfer。移轉作業名稱可以是任何容易辨識的值,方便您日後在必要時進行修改。

      移轉作業名稱

    • 在「Schedule options」(時間表選項) 區段中,針對「Schedule」(時間表) 保留預設值 ([Start now] (立即開始)),或按一下 [Start at a set time] (於設定的時間開始)

      • 在「Repeats」(重複時間間隔) 選擇多久執行一次移轉作業的選項。選項包括:

        • Daily (每天) (預設)
        • Weekly (每週)
        • Monthly (每月)
        • Custom (自訂)
        • On-demand (隨選)

        如果您選擇 [Daily] (每天) 以外的選項,則有其他選項可供使用。舉例來說,如果選擇 [Weekly] (每週),則會出現可供選擇星期幾的選項。

      • 在「Start date and run time」(開始日期和執行時間),輸入開始移轉的日期和時間。如果您選擇 [Start now] (立即開始),就會停用此選項。

        移轉作業時間表

    • 在 [Destination dataset] (目的地資料集) 區段,針對「Destination dataset」(目的地資料集),選擇您建立來儲存資料的資料集。

      移轉資料集

    • 在「Data source details」(資料來源詳細資料) 區段:

      • 在「Destination table」(目的地資料表),輸入您為了在 BigQuery 中儲存資料而建立的資料表名稱。目的地資料表名稱可支援參數
      • 在「Amazon S3 URI」輸入下列格式的 URI s3://mybucket/myfolder/...。URI 也支援參數
      • 在「Access key ID」(存取金鑰 ID) 輸入您的存取金鑰 ID。
      • 在「Secret access key」(私密存取金鑰) 輸入您的私密存取金鑰。
      • 在「File format」(檔案格式) 選擇您的資料格式:JSON (以換行符號分隔)、CSV、Avro、Parquet 或 ORC。

        S3 來源詳細資料

    • 在「Transfer options」(移轉作業選項) 區段中,針對「Number of errors allowed」(允許的錯誤數量) 輸入可忽略的錯誤記錄數量上限 (整數值)。

      允許的錯誤數量

    • 如果您選擇的檔案格式為 CSV 或 JSON,請在「JSON,CSV」區段中勾選 [Ignore unknown values] (略過不明的值),才能接受當中的值不符結構定義的資料列。系統會忽略不明的值。對於 CSV 檔案,此選項會忽略每行結尾處額外的值。

      略過不明的值

    • 如果您選擇的檔案格式為 CSV,請在「CSV」區段中,輸入載入資料的任何額外 CSV 選項

      CSV 選項

    • (選用) 在「Notification options」(通知選項) 區段中:

      • 按一下啟用電子郵件通知的切換開關。當您啟用此選項時,移轉管理員會在移轉作業失敗時收到電子郵件通知。
      • 在「Select a Cloud Pub/Sub topic」(選取 Cloud Pub/Sub 主題),選擇您的主題名稱,或是按一下 [Create a topic] (建立主題) 來建立主題。此選項可為移轉作業設定 Cloud Pub/Sub 執行通知。移轉執行通知目前仍為 Alpha 版。
  5. 按一下 [Save] (儲存)。

傳統版 UI

  1. 前往 BigQuery 網頁版 UI。

    前往 BigQuery 網頁版 UI

  2. 按一下 [Transfers] (傳輸作業)

  3. 按一下 [Add Transfer] (新增移轉作業)。

  4. 在「New Transfer」(新增移轉作業) 頁面上:

    • 在「Source」(來源) 選擇 [Amazon S3]
    • 在「Display name」(顯示名稱) 輸入移轉作業的名稱,例如 My Transfer。顯示名稱可以是任何容易辨識的值,方便您日後在必要時進行修改。
    • (選用) 在「Schedule」(時間表) 保留預設值「Daily」(每日) (即從建立時間開始,每 24 小時一次),或按一下 [Edit] (編輯) 來變更時間。時間間隔亦可改成 [Weekly] (每週)、[Monthly] (每月) 或 [Custom] (自訂)。如果選取「Custom」(自訂),則必須以類似 Cron 的表示方式輸入時間間隔,例如:every 12 hours。允許的最短週期為 12 小時。如需其他有效的 API 值,請參閱 TransferConfig 底下的 schedule 欄位說明。
    • 針對「Destination dataset」(目的地資料集) 選擇適當的資料集。
    • 在「Destination table」(目的地資料表) 中輸入目的地資料表的名稱。目的地資料表必須遵循資料表命名規則。目的地資料表名稱也支援參數
    • 在「Amazon S3 URI」輸入 Amazon S3 URI。支援萬用字元參數
    • 在「Access key ID」(存取金鑰 ID) 輸入您的存取金鑰 ID。
    • 在「Secret access key」(私密存取金鑰) 輸入您的私密存取金鑰。
    • 在「File format」(檔案格式) 選擇您的資料格式:JSON (以換行符號分隔)、CSV、Avro、Parquet 或 ORC。
    • 在「Transfer Options - All Formats」(移轉選項 - 所有格式) 區段下方:
      • 在「Number of errors allowed」(允許的錯誤數量) 欄位輸入 BigQuery 在執行工作時可忽略的錯誤記錄數量上限。如果錯誤記錄的數量超過這個值,工作結果中就會出現「invalid」(無效) 錯誤,且該工作會失敗。預設值為 0
    • 如果您選擇的資料格式為 CSV 或 JSON,請在「Transfer Options - JSON, CSV」(移轉選項 - JSON、CSV) 區段底下操作:
      • 如要在移轉時排除不符合目的地資料表結構定義的資料,請勾選「Ignore unknown values」(略過不明的值) 核取方塊。
    • 如果您選擇的資料格式為 CSV,請在「Transfer Options - CSV」(移轉選項 - CSV) 區段底下操作:

      • 在「Field delimiter」(欄位分隔符號) 輸入分隔欄位的字元。預設值為逗號。
      • 如果您不想匯入來源檔案中的標題列,請在「Header rows to skip」(要略過的標題列) 輸入不要匯入的標題列編號。預設值為 0
      • 如果要允許在引用欄位中使用換行符號,請勾選「Allow quoted newlines」(允許引用換行符號) 的方塊。
      • 如要允許移轉缺少 NULLABLE 欄位的資料列,請勾選「Allow jagged rows」(允許不規則資料列) 核取方塊。
    • (選用) 展開「Advanced」(進階) 區段,並設定移轉作業的執行通知。移轉執行通知目前仍為 Alpha 版

    • 在「Cloud Pub/Sub topic」(Cloud Pub/Sub 主題) 輸入 Cloud Pub/Sub 主題名稱,例如 projects/myproject/topics/mytopic

    • 勾選 [Send email notifications] (傳送電子郵件通知),讓系統在移轉執行失敗時,寄送電子郵件通知。

      Cloud Pub/Sub 主題

  5. 按一下 [Add] (新增)

排解 Amazon S3 移轉設定問題

如果您無法順利設定移轉作業,請參閱疑難排解頁面,以瞭解疑難排解步驟。

查詢資料

資料移轉至 BigQuery 時,系統會將資料寫入擷取時間分區資料表。詳情請參閱分區資料表簡介一文。

如果您要直接查詢資料表,而不要使用自動產生的資料檢視,您必須在查詢中使用 _PARTITIONTIME 虛擬資料欄。詳情請參閱查詢分區資料表

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁