啟用 BigQuery 遷移作業的 SQL 翻譯功能

從資料倉儲遷移至 BigQuery 時,請使用 BigQuery SQL 翻譯器,將 SQL 指令碼和查詢從來源方言翻譯成 GoogleSQL。

BigQuery 提供下列 SQL 翻譯,做為 BigQuery 遷移服務的一部分:

翻譯來源 SQL 前,建議您使用 dwh-migration-dumper 工具,從來源資料倉儲擷取 DDL 結構定義中繼資料。擷取的中繼資料可與 SQL 翻譯工具搭配使用,提高 SQL 翻譯準確度。

本文說明使用任何 SQL 轉譯器前,必須採取的步驟。此外,本文也會說明 SQL 翻譯工具支援的 SQL 方言,以及支援 SQL 翻譯的區域。

啟用 SQL 翻譯

使用 SQL 翻譯工具翻譯 SQL 前,請先完成下列步驟。

啟用 BigQuery Migration API

如果 Google Cloud CLI 專案是在 2022 年 2 月 15 日前建立,請按照下列步驟啟用 BigQuery Migration API:

  1. 前往 Cloud de Confiance 控制台的「BigQuery Migration API」頁面。

    前往 BigQuery Migration API

  2. 按一下「啟用」。

新增必要權限

如要取得使用互動式翻譯工具、Translation API 或批次 SQL 翻譯工具建立翻譯工作所需的權限,請要求管理員授予您 parent 資源的下列 IAM 角色:

  • 查看及監控遷移工作:MigrationWorkflow 檢視者 (roles/bigquerymigration.viewer)
  • 提交遷移工作:MigrationWorkflow 編輯者 (roles/bigquerymigration.editor)
  • 存取 Cloud Storage bucket 以取得輸入內容和檔案:Storage 物件管理員 (roles/storage.objectAdmin) - 位於來源和目的地 Cloud Storage bucket。

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備所需權限,可透過互動式翻譯工具、翻譯 API 或批次 SQL 翻譯工具建立翻譯工作。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要使用互動式翻譯工具、Translation API 或批次 SQL 翻譯工具建立翻譯工作,必須具備下列權限:

  • bigquerymigration.workflows.create
  • bigquerymigration.workflows.get
  • bigquerymigration.workflows.list
  • bigquerymigration.workflows.delete
  • bigquerymigration.subtasks.get
  • bigquerymigration.subtasks.list
  • storage.objects.get
  • storage.objects.list
  • storage.objects.create

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

支援的 SQL 方言

BigQuery SQL 翻譯工具支援將下列 SQL 方言翻譯成 GoogleSQL:

  • Amazon Redshift SQL (Redshift2BigQuery_Translation)
  • Apache HiveQL 和 Beeline CLI (HiveQL2BigQuery_Translation)
  • IBM Netezza SQL 和 NZPLSQL (Netezza2BigQuery_Translation)
  • Snowflake SQL (Snowflake2BigQuery_Translation)
  • Teradata 和 Teradata Vantage (Teradata2BigQuery_Translation)
    • SQL
    • Basic Teradata Query (BTEQ)
    • Teradata Parallel Transport (TPT)

此外,預先發布版支援下列 SQL 方言的翻譯:

  • Apache Impala SQL (Impala2BigQuery_Translation)
  • Apache Spark SQL (SparkSQL2BigQuery_Translation)
  • Azure Synapse T-SQL (AzureSynapse2BigQuery_Translation)
  • GoogleSQL、BigQuery (Bigquery2Bigquery_Translation)
  • Greenplum SQL (Greenplum2BigQuery_Translation)
  • IBM DB2 SQL (Db22BigQuery_Translation)
  • MySQL SQL (MySQL2BigQuery_Translation)
  • Oracle SQL、PL/SQL、Exadata (Oracle2BigQuery_Translation)
  • PostgreSQL SQL (Postgresql2BigQuery_Translation)
  • Trino 或 PrestoSQL (Presto2BigQuery_Translation)
  • SQL Server T-SQL (SQLServer2BigQuery_Translation)
  • SQLite (SQLite2BigQuery_Translation)
  • Vertica SQL (Vertica2BigQuery_Translation)

位置

BigQuery SQL 翻譯器可在下列處理位置使用:

區域說明 Region name 詳細資料
亞太地區
曼谷 asia-southeast3
德里 asia-south2
香港 asia-east2
雅加達 asia-southeast2
墨爾本 australia-southeast2
孟買 asia-south1
大阪 asia-northeast2
首爾 asia-northeast3
新加坡 asia-southeast1
雪梨 australia-southeast1
台灣 asia-east1
東京 asia-northeast1
歐洲
比利時 europe-west1 節能綠葉圖示 低二氧化碳排放
柏林 europe-west10
歐洲 (多區域) eu
芬蘭 europe-north1 節能綠葉圖示 低二氧化碳排放
法蘭克福 europe-west3
倫敦 europe-west2 節能綠葉圖示 低二氧化碳排放
馬德里 europe-southwest1 節能綠葉圖示 低二氧化碳排放
米蘭 europe-west8 節能綠葉圖示 低二氧化碳排放
荷蘭 europe-west4 節能綠葉圖示 低二氧化碳排放
巴黎 europe-west9 節能綠葉圖示 低二氧化碳排放
斯德哥爾摩 europe-north2 節能綠葉圖示 低二氧化碳排放
杜林 europe-west12 節能綠葉圖示 低二氧化碳排放
華沙 europe-central2 節能綠葉圖示 低二氧化碳排放
蘇黎世 europe-west6 節能綠葉圖示 低二氧化碳排放
美洲
俄亥俄州哥倫布 us-east5
達拉斯 us-south1 節能綠葉圖示 低二氧化碳排放
愛荷華州 us-central1 節能綠葉圖示 低二氧化碳排放
拉斯維加斯 us-west4
洛杉磯 us-west2
墨西哥 northamerica-south1
北維吉尼亞州 us-east4
奧勒岡州 us-west1 節能綠葉圖示 低二氧化碳排放
鳳凰城 us-west8
魁北克 northamerica-northeast1 節能綠葉圖示 低二氧化碳排放
聖保羅 southamerica-east1 節能綠葉圖示 低二氧化碳排放
鹽湖城 us-west3
聖地亞哥 southamerica-west1 節能綠葉圖示 低二氧化碳排放
南卡羅來納州 us-east1
多倫多 northamerica-northeast2 節能綠葉圖示 低二氧化碳排放
美國 (多區域) us
非洲
約翰尼斯堡 africa-south1
MiddleEast
達曼 me-central2
杜哈 me-central1
以色列 me-west1