啟用 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:
前往 Cloud de Confiance 控制台的「BigQuery Migration API」頁面。
按一下「啟用」。
新增必要權限
如要取得使用互動式翻譯工具、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 |
||