啟用 BigQuery 遷移作業的 SQL 翻譯功能
從資料倉儲遷移至 BigQuery 時,請使用 BigQuery SQL 翻譯器,將來源方言的 SQL 指令碼和查詢翻譯成 GoogleSQL。
BigQuery 提供下列 SQL 翻譯功能,做為 BigQuery 遷移服務的一部分:
建議您先使用 dwh-migration-dumper 工具從來源資料倉儲擷取 DDL 架構中繼資料,再翻譯來源 SQL。擷取的中繼資料可搭配 SQL 翻譯工具使用,提高 SQL 翻譯準確度。
本文檔向您展示了在使用任何 SQL 轉換器之前需要採取的步驟。本文也會說明 SQL 翻譯工具支援的 SQL 方言,以及支援 SQL 翻譯的區域。
啟用 SQL 翻譯
使用 SQL 轉換器翻譯 SQL 前,請先完成下列步驟。
啟用 BigQuery 遷移 API
如果您的 Google Cloud CLI 專案是在 2022 年 2 月 15 日之前建立的,請依照下列步驟啟用 BigQuery 遷移 API:
在 Google Cloud 控制台中,前往BigQuery 遷移 API頁面。
按一下「啟用」。
新增必要權限
如要取得使用互動式翻譯器、Translation API 或批次 SQL 翻譯器建立翻譯工作所需的權限,請要求管理員在 parent 資源中授予您下列 IAM 角色:
-
檢視與監控遷移作業:遷移工作流程檢視器 (
roles/bigquerymigration.viewer) -
提交遷移工作:
MigrationWorkflow 編輯者 (
roles/bigquerymigration.editor) -
存取輸入和檔案的 Cloud Storage 值區:
儲存空間物件管理員 (
roles/storage.objectAdmin) - 來源和目標 Cloud Storage 值區。
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備使用互動式翻譯器、Translation 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 翻譯工具可在下列處理位置使用:
| 地區說明 | 區域名稱 | 詳細資料 | |
|---|---|---|---|
| 亞太地區 | |||
| 曼谷 | 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 |
|
|
| 魁北克 | northamerica-northeast1 |
|
|
| 聖保羅 | southamerica-east1 |
|
|
| 鹽湖城 | us-west3 |
||
| 聖地亞哥 | southamerica-west1 |
|
|
| 南卡羅來納州 | us-east1 |
||
| 多倫多 | northamerica-northeast2 |
|
|
| 美國 (多區域) | us |
||
| 非洲 | |||
| 約翰尼斯堡 | africa-south1 |
||
| MiddleEast | |||
| 達曼 | me-central2 |
||
| 杜哈 | me-central1 |
||
| 以色列 | me-west1 |
||