連接到谷歌 BigQuery AWS Schema Conversion Tool - AWS Schema Conversion Tool

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

連接到谷歌 BigQuery AWS Schema Conversion Tool

您可以使用 AWS SCT 將結構描述、程式碼物件和應用程式程式碼從 BigQuery 轉換為 Amazon Redshift。

BigQuery 作為來源的權限

若要在中使用 BigQuery 資料倉儲作為來源 AWS SCT,請建立服務帳戶。在 GCP 中,應用程式會使用服務帳戶API撥打授權電話。服務帳戶與使用者帳戶不同。如需詳細資訊,請參閱 Google Cloud Identity and Access Management 說明文件中的服務帳戶

請確定您已將下列角色授與您的服務帳戶:

  • BigQuery Admin

  • Storage Admin

BigQuery Admin角色提供管理專案內所有資源的權限。 AWS SCT 使用此角色在移轉專案中載入中 BigQuery 繼資料。

Storage Admin角色會授與資料物件和值區的完整控制權。您可以在下找到此角色Cloud Storage。 AWS SCT 使用此角色從中擷取您的資料, BigQuery 然後將其載入 Amazon Redshift。

若要建立服務帳戶金鑰檔案
  1. 登入谷歌雲端管理主控台,網址為 https://console.cloud.google.com/

  2. BigQuery API頁面上,選擇 [啟用]。如果看到 API「已啟用」,請略過此步驟。

  3. 在 [服務帳戶] 頁面上,選擇您的專案,然後選擇 [建立服務帳戶]。

  4. 在 [服務帳戶詳細資料] 頁面上,輸入 [服務帳戶名稱] 的描述性值。選擇建立並繼續。[將此服務帳戶存取權授予專案] 頁面隨即開啟。

  5. 針對 [選取角色],選擇 BigQuery,然後選擇 [BigQuery 管理員]。

  6. 選擇 [新增其他角色]。針對 [選取角色],選擇 [雲端儲存],然後選擇 [儲存空間管理員]

  7. 選擇「繼續」,然後選擇「完成」。

  8. 在 [服務帳戶] 頁面上,選擇您建立的服務帳戶。

  9. 選擇 [金鑰],然後選擇 [建立新金鑰] 做為 [新增金鑰]。

  10. 選擇 JSON,接著選擇 Create (建立 )。選擇要儲存私密金鑰的資料夾,或在瀏覽器中選擇要下載的預設資料夾。

若要從資料倉儲擷取 BigQuery 資料,請 AWS SCT 使用 GCP 儲存貯體資料夾。開始資料移轉之前,請先建立此儲存貯體。在 [建立本機工作] 對話方塊中,輸入 GCP 儲存貯體資料夾的路徑。如需詳細資訊,請參閱建立、執行和監視 AWS SCT 工作

BigQuery 作為來源連線到

請使用下列程序連接到您的來源 BigQuery 專案 AWS Schema Conversion Tool。

若要連線至來 BigQuery 源資料倉儲
  1. 在中 AWS Schema Conversion Tool,選擇「新增來源」。

  2. 選擇 BigQuery,然後選擇「下一步」。

    這時系統顯示「添加源」對話框。

  3. 在「連線名稱」中,輸入 BigQuery 專案的名稱。 AWS SCT 在左側面板的樹狀結構中顯示此名稱。

  4. 針對金鑰路徑,輸入服務帳戶金鑰檔案的路徑。若要取得有關建立此檔案的更多資訊,請參閱 BigQuery 作為來源的權限

  5. 選擇「測試連線」以確認是否 AWS SCT 可以連線到來源 BigQuery 專案。

  6. 選擇「Connec t」以連接到源 BigQuery 項目。

BigQuery 作為來源使用的限制 AWS SCT

當 BigQuery 作為來源使用時,會有下列限制 AWS SCT:

  • AWS SCT 不支持分析函數中的子查詢的轉換。

  • 您不能使用 AWS SCT 轉換 BigQuery SELECT AS STRUCTSELECT AS VALUE語句。

  • AWS SCT 不支援下列函數類型的轉換:

    • 近似彙總

    • 位元

    • 除錯

    • 同盟查詢

    • 地理

    • 雜湊

    • 數學

    • 淨值

    • 統計彙總

    • UUID

  • AWS SCT 對字串函數的轉換提供有限的支援。

  • AWS SCT 不支持UNNEST運算符的轉換。

  • 您無法在 AWS SCT中轉換相關聯結作業。

  • AWS SCT 不支援QUALIFYWINDOW、和OFFSET子句LIMIT的轉換。

  • 您無法使用 AWS SCT 來轉換遞迴通用資料表運算式。

  • AWS SCT 不支持使用子INSERT句內的子查詢轉換語VALUES句。

  • AWS SCT 不支援巢狀欄位和重複記錄的UPDATE陳述式轉換。

  • 您不能使用 AWS SCT 轉換STRUCTARRAY數據類型。

BigQuery 到 Amazon Redshift 轉換設置

若 BigQuery 要編輯 Amazon Redshift 轉換設定,請在中選擇 [設定] AWS SCT,然後選擇 [轉換設定]。從上面的列表中,選擇谷歌 BigQuery,然後選擇谷歌 BigQuery -Amazon Redshift。 AWS SCT 顯示 Amazon Redshift 轉換 BigQuery 的所有可用設定。

BigQuery 到 Amazon Redshift 轉換設置, AWS SCT 包括以下選項:

  • 用於限制轉換後代碼中行動項目的註釋數量。

    針對所選嚴重性及更高之行動項目的已轉換程式碼中新增註解,請選擇行動項目的嚴重性。 AWS SCT 在已轉換的程式碼中加入所選嚴重性及更高嚴重性之行動項目的註解。

    例如,若要將已轉換程式碼中的註解數量降到最低,請選擇僅限錯誤。若要在已轉換的程式碼中包含所有動作項目的註解,請選擇所有訊息

  • 設定 AWS SCT 可套用至目標 Amazon Redshift 叢集的表格數目上限。

    對於目標 Amazon Redshift 叢集的表格數目上限,請選擇 AWS SCT 可套用至 Amazon Redshift 叢集的表格數目。

    Amazon Redshift 的配額會限制不同叢集節點類型的使用資料表。如果選擇自動,請根據節點類型 AWS SCT 決定要套用至目標 Amazon Redshift 叢集的表格數目。選擇性地手動選擇值。如需詳細資訊,請參閱《Amazon Redshift 管理指南》中的 Amazon Redshift 中的配額和限制

    AWS SCT 轉換所有來源表格,即使這個資料表超過 Amazon Redshift 叢集所能存放的空間也一樣。 AWS SCT 將轉換後的代碼存儲在項目中,並且不將其應用於目標數據庫。如果您在套用轉換後的程式碼時達到表格的 Amazon Redshift 叢集配額,則 AWS SCT 會顯示警告訊息。此外,請將表格 AWS SCT 套用至目標 Amazon Redshift 叢集,直到表格數量達到上限為止。

  • 將壓縮應用於 Amazon Redshift 表列。若要這樣做,請選取 [使用壓縮編碼]。

    AWS SCT 使用預設的 Amazon Redshift 演算法,自動將壓縮編碼指派給資料行。如需詳細資訊,請參閱 Amazon Redshift 資料庫開發人員指南中的壓縮編碼

    根據預設,Amazon Redshift 不會將壓縮套用至定義為排序金鑰和分配金鑰的資料行。您可以變更此行為,並將壓縮套用至這些資料行。若要這麼做,請選取 [使用KEY資料行的壓縮編碼]。只有當您選取 [使用壓縮編碼] 選項時,才能選取此選項。

BigQuery 到 Amazon Redshift 轉換優化設置

若 BigQuery 要編輯 Amazon Redshift 轉換優化設定,請在中選擇 [設定] AWS SCT,然後選擇 [轉換設定]。從上面的列表中,選擇谷歌 BigQuery,然後選擇谷歌 BigQuery -Amazon Redshift。在左窗格中,選擇 [最佳化策略]。 AWS SCT 顯示轉換為亞馬遜紅移轉 BigQuery 換的轉換優化設定。

BigQuery 到 Amazon Redshift 轉換優化設置, AWS SCT 包括以下選項:

  • 要使用自動表優化工作。若要這麼做,請選取 [使用 Amazon Redshift 自動表格調整]。

    自動表格最佳化是 Amazon Redshift 中的一項自我調整程序,可自動優化資料表的設計。如需詳細資訊,請參Amazon Redshift 資料庫開發人員指南中的使用自動表格最佳化

    若只要依賴自動表格最佳化,請針對初始索引鍵選取策略選取選擇選擇選取策略

  • 若要使用您的策略選擇排序和分配鍵。

    您可以使用 Amazon Redshift 中繼資料、統計資訊或這兩個選項來選擇排序和分發金鑰。對於「最佳化策略」標籤上的「初始金鑰選取策略」,請選擇下列其中一個選項:

    • 使用中繼資料,忽略統計資訊

    • 忽略中繼資料,使用統計資訊

    • 使用中繼資料和統計資訊

    根據您選擇的選項,您可以選取最佳化策略。然後,針對每個策略輸入值 (0—100)。這些值定義每個策略的權重。使用這些加權值, AWS SCT 定義每個規則如何影響分佈和排序索引鍵的選擇。預設值以 AWS 移轉最佳作法為基礎。

    您可以為尋找小型資料表策略定義小型資料表的大小。對於「最小表格列計數」和「表格列數上限」,請輸入表格中的最小和最大列數,將其定義為小型表格。 AWS SCT 將ALL分佈型式套用至小型表格。在這種情況下,整個表的副本會分發到每個節點。

  • 若要設定策略詳細資訊。

    除了定義每個最佳化策略的權重之外,您還可以設定最佳化設定。為此,請選擇「轉換優化」。

    • 在「排序索引鍵欄限制」中,輸入排序索引鍵中的欄數上限。

    • 在「傾斜臨界值」中,為欄輸入傾斜值的百分比 (0—100)。 AWS SCT 從分配索引鍵的候選清單中排除偏斜值大於臨界值的欄。 AWS SCT 將欄的傾斜值定義為最常見值出現次數與記錄總數的百分比比率。

    • 對於查詢歷史記錄表格中的前 N 個查詢,請輸入要分析的最常用查詢數目 (1—100)。

    • 在選取統計資料使用者中,選擇要分析查詢統計資料的資料庫使用者。

    此外,在「最佳化策略」標籤上,您可以定義「尋找小表格」策略的小型資料表大小。對於「最小表格資料列計數」和「表格列數上限」,請輸入表格中的最小與最大列數,將其視為小型表格。 AWS SCT 將ALL分佈型式套用至小型表格。在這種情況下,整個表的副本會分發到每個節點。