將 SSIS 轉換為AWS Glue Studio與AWS SCT - AWS Schema Conversion Tool

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

將 SSIS 轉換為AWS Glue Studio與AWS SCT

您可以使用AWS SCT將微軟 SQL 伺服器整合服務 (SSIS) 套件轉換為AWS Glue Studio。

一個SSIS 套件包括執行特定擷取、轉換和載入 (ETL) 工作的必要元件,例如連接管理員、工作、控制流程、資料流程、參數、事件處理常式和變數。AWS SCT將 SSIS 套件轉換為相容的格式AWS Glue Studio。將來源資料庫移轉至AWS 雲端,你可以運行這些轉換AWS Glue Studio工作執行 ETL 任務。

若要將微軟 SSIS 套件轉換為AWS Glue Studio,請確定您使用AWS SCT版本 1.0.661 或更高版本。

先決條件

在本節中,瞭解 SSIS 封裝轉換為的先決條件工作AWS Glue。這些工作包括建立必要的AWS您帳戶中的資源。

您可以使用AWS Identity and Access Management(IAM) 定義存取資源所需的政策和角色AWS Glue Studio用途。如需詳細資訊,請參閱的 IAM 許可AWS Glue Studio用戶

之後AWS SCT將您的來源指令碼轉換為AWS Glue Studio,將轉換後的指令碼上傳到 Amazon S3 儲存貯體。請確定您已建立此 Amazon S3 儲存貯體,並在AWS服務設定檔設定。如需建立 S3 儲存貯體的詳細資訊,請參閱建立第一個 S3 儲存貯體亞馬遜簡單存儲服務用戶指南

為了確保AWS Glue Studio可以連接到您的資料倉庫、建立自訂連接器和連接。另外,將數據庫憑據存儲在AWS Secrets Manager。

建立自訂連接器的步驟
  1. 下載資料倉庫的 JDBC 驅動程式。有關 JDBC 驅動程序的更多信息AWS SCT使用,請參閱下載所需資料庫驅動程式

  2. 將此驅動程式檔案上傳到您的 Amazon S3 儲存貯體。如需詳細資訊,請參閱將物件上傳至值區亞馬遜簡單存儲服務用戶指南

  3. 登入 AWS Management Console,然後開啟位於 https://console.aws.amazon.com/gluestudio/ 的 AWS Glue Studio 主控台。

  4. 選擇連接器,然後選擇建立自訂連接器

  5. 對於連接器,選擇瀏覽 S3,然後選擇您上傳到 Amazon S3 儲存貯體的 JDBC 驅動程式檔案。

  6. 輸入描述性姓名為您的連接器。例如,​輸入 SQLServer

  7. 對於連接器類型,選擇JDBC

  8. 對於類別名稱」下方,輸入 JDBC 驅動程式的主類別名稱。對於 SQL 伺服器,請輸入com.microsoft.sqlserver.jdbc.SQLServerDriver

  9. 對於网址基础」下方,輸入 JDBC 基本網址。JDBC 基本 URL 的語法取決於您的來源資料庫引擎。對於 SQL 伺服器,請使用下列格式:jdbc:sqlserver://$<host>:$<port>;databaseName=$<dbname>;user=$<username>;password=$<password>

    確保您更換<host>,<port>,<dbname>,<username>,以及<password>與你的價值觀。

  10. 對於URL 參數分隔符號,輸入分號 (;).

  11. 選擇 Create connector (建立連接器)

若要將資料庫認證儲存在AWS Secrets Manager
  1. 登入AWS Management Console並打開AWS Secrets Manager控制台https://console.aws.amazon.com/secretsmanager/

  2. 選擇 Store a new secret (存放新機密)。

  3. Choose secret type (選擇秘密類型) 頁面上,執行下列動作:

    1. 對於秘密類型,選擇其他類型的秘密

    2. 對於鍵/值對」中,輸入下列按鍵:host,port,dbname,username,以及password

      接下來,輸入這些鍵的值。

  4. 在「」配置密碼頁面上,輸入描述性秘密名稱。例如,​輸入 SQL_Server_secret

  5. 選擇 下一步。然後,在設定旋轉頁面上,選擇下一步再次。

  6. Review (檢閱) 頁面上,檢閱機密詳細資訊,然後選擇 Store (存放)。

建立連接器的連線
  1. 登入 AWS Management Console,然後開啟位於 https://console.aws.amazon.com/gluestudio/ 的 AWS Glue Studio 主控台。

  2. 選擇您要建立連線的連接器,然後選擇建立連線

  3. 在「」建立連線頁面上,輸入描述性姓名用於您的連接。例如,​輸入 SQL-Server-connection

  4. 對於AWS秘密」下方,選擇您建立的密碼AWS Secrets Manager。

  5. 配置網路選項,然後選擇建立連線

現在,您可以創建AWS Glue Studio使用自訂連接器的工作。如需詳細資訊,請參閱創建AWS Glue Studio工作

將 SSIS 套件新增至您的AWS SCT項目

您可以將多個 SSIS 軟件包添加到單個AWS SCT項目。

若要將 SSIS 套件新增至您的AWS SCT項目
  1. 在中建立新專案AWS SCT或開啟現有的專案。如需詳細資訊,請參閱建立AWS SCT專案

  2. 選擇新增來源從功能表中,然後選擇SQL 伺服器整合服務

  3. 對於連線名稱」中,輸入 SSIS 套件的名稱。AWS SCT在左側面板的樹狀結構中顯示此名稱。

  4. 對於SSIS 套件資料夾」中,輸入含有來源 SSIS 套件之資料夾的路徑。

  5. 選擇新增目標從功能表中,然後選擇AWS Glue Studio

    若要連線到AWS Glue Studio,AWS SCT使用您的AWS設定檔。如需詳細資訊,請參閱將AWS服務設定檔儲存在AWS SCT

  6. 建立對應規則,其中包括來源 SSIS 套件和AWS Glue Studio目標。如需詳細資訊,請參閱在中建立對應規則 AWS SCT

  7. 創建AWS Glue Studio中的連線AWS Glue Studio控制台。如需詳細資訊,請參閱建立連接器的連接

  8. 選擇連線管理員在左側樹中,打開上下文(右鍵單擊)菜單,然後選擇設定連線

    AWS SCT顯示設定連線窗口。

  9. 針對每個來源 SSIS 連線,選擇AWS Glue Studio連接。

將 SSIS 套件轉換為AWS Glue Studio與AWS SCT

接下來,找到如何將 SSIS 包轉換為AWS Glue Studio運用AWS SCT。

若要將 SSIS 套件轉換為AWS Glue Studio
  1. 將您的 SSIS 套件新增至您的AWS SCT項目。如需詳細資訊,請參閱將 SSIS 套件新增至您的AWS SCT項目

  2. 在左側面板中,展開ETLSSIS節點。

  3. 選擇套餐,開啟內容 (按一下滑鼠右鍵) 功能表,然後選擇轉換套件

    AWS SCT將您選取的 SSIS 套件轉換為 JSON 檔案。這些 JSON 物件代表有向無環圖 (DAG) 中的節點。找到您的轉換文件封裝 DAG右樹中的節點。

  4. 選擇封裝 DAG,開啟內容 (按一下滑鼠右鍵) 功能表,然後選擇保存到亞馬遜 S3

    現在,您可以使用這些腳本在AWS Glue Studio。

創建AWS Glue Studio使用轉換後的代碼的工作

轉換來源 SSIS 套件之後,您可以使用轉換後的 JSON 檔案來建立AWS Glue Studio工作。

若要建立AWS Glue Studio工作
  1. 選擇封裝 DAG在右側樹中,打開上下文(右鍵單擊)菜單,然後選擇配置AWS Glue Studio工作

  2. (選擇性) 套用模擬 SSIS 函數的延伸套件AWS Glue Studio。

  3. 配置AWS Glue Studio工作窗口打開。

    完成基本工作屬性區段:

    • 姓名— 輸入您的名稱AWS Glue Studio工作。

    • 腳本檔案名稱— 輸入工作指令碼的名稱。

    • 工作參數— 新增參數並輸入其值。

    選擇 下一步

  4. 完成進階工作屬性區段:

    • IAM 角色— 選擇用於授權的 IAM 角色AWS Glue Studio並存取資料存放區。

    • 指令碼檔案 S3 路徑— 輸入轉換後指令碼的 Amazon S3 路徑。

    • 暫存目錄— 輸入 Amazon S3 到暫存目錄的路徑,以取得中繼結果。AWS Glue Studio使用此目錄讀取或寫入亞馬遜紅移。

    • AWS SCT會自動產生 Python 程式庫的路徑。您可以在以下位置檢閱此路徑生成的蟒蛇庫路徑。您無法編輯此自動產生的路徑。若要使用其他 Python 程式庫,請在用戶蟒蛇庫路徑

    • 用戶蟒蛇庫路徑— 輸入其他使用者 Python 程式庫的路徑。請使用逗號分隔 Amazon S3 路徑。

    • 依賴罐子路徑— 輸入相依的路徑*.jar文件。請使用逗號分隔 Amazon S3 路徑。

    • 參考檔案路徑— 輸入指令碼所需的其他檔案 (例如組態檔) 的路徑。請使用逗號分隔 Amazon S3 路徑。

    • 工人類型— 選擇G.1X或者G.2X

      當您選擇G.1X每個工作者會對應至 1 個 DPU (4 個 vCPU、16 GB 記憶體和 64 GB 磁碟)。

      當您選擇G.2X每個工作者會對應至 2 個 DPU (8 個 vCPU、32 GB 記憶體和 128 GB 磁碟)。

    • 要求的工作人數— 輸入工作執行時配置的 Worker 數目。

    • 最大並發— 輸入此工作允許的並行執行數目上限。預設值為 1。AWS Glue達到此閾值時返回錯誤。

    • 工作逾時 (分鐘)— 輸入 ETL 工作的逾時值,以防止失控工作。批次工作的預設值為 2,880 分鐘 (48 小時)。如果工作超過此限制,工作執行狀態會變更為TIMEOUT

    • 延遲通知閾值(分鐘)— 在幾分鐘之前輸入閾值AWS SCT傳送延遲通知。

    • 重試次數— 輸入的次數 (0—10)AWS Glue如果工作失敗,應該自動重新啟動作業。達到逾時限制的工作不會重新啟動。預設值為 0。

    選擇 Finish (完成)。

    AWS SCT設定您選取的AWS Glue Studio工作。

  5. 在下方尋找您設定的工作ETL 工作在正確的樹中。選擇您設定的工作,開啟環境定義 (按一下滑鼠右鍵) 功能表,然後選擇創建AWS Glue Studio工作

  6. 選擇套用狀態並確保狀態你的工作價值是成功

  7. 打開AWS Glue Studio控制台,選擇刷新,然後選擇您的工作。然後選擇執行

建立 SSIS 套件的評估報告AWS SCT

ETL 移轉評估報告提供有關將 SSIS 套件轉換為相容格式的資訊AWS Glue Studio。評估報告包含 SSIS 套件元件的行動項目。這些行動項目會顯示哪些元件AWS SCT無法自動轉換。

若要建立 ETL 移轉評估報告
  1. 展開SSIS節點下ETL在左側面板中。

  2. 選擇套餐,開啟內容 (按一下滑鼠右鍵) 功能表,然後選擇建立報告

  3. 檢視摘要標籤。在這裡,AWS SCT顯示 ETL 移轉評估報告中的執行摘要資訊。它包括 SSIS 套件所有元件的轉換結果。

  4. (選擇性) 將 ETL 移轉評估報告的本機副本儲存為 PDF 檔案或逗號分隔值 (CSV) 檔案:

    • 若要將 ETL 移轉評估報告儲存為 PDF 檔案,請選擇儲存為 PDF 格式在右上角。

      PDF 檔案包含執行摘要、行動項目和指令碼轉換的建議。

    • 若要將 ETL 移轉評估報告儲存為 CSV 檔案,請選擇儲存為 CSV 格式在右上角。

      AWS SCT會建立三個 CSV 檔案。這些檔案包含行動項目、建議的動作,以及轉換指令碼所需手動工作的估計複雜性。

  5. 選擇合適的行動項目標籤。此標籤包含需要手動轉換為的項目清單AWS Glue Studio。當您從清單中選擇行動項目時,AWS SCT反白行動項目套用至的來源 SSIS 套件中的項目。

SSIS 組件AWS SCT可以轉換為AWS Glue Studio

您可以使用AWS SCT將 SSIS 資料流程元件和參數轉換為AWS Glue Studio。

支援的資料流程元件包括下列項目:

  • ADO 淨目的地

  • ADO 淨源

  • Aggregate

  • 字符映射

  • 條件式分割

  • 複製欄

  • 資料轉換

  • 衍生資料欄

  • 查找

  • Merge

  • 合併聯結

  • 多點傳送

  • 國際旅遊目的地

  • 來源

  • 奧萊德布目的地

  • 奧萊德布源

  • 列計數

  • Sort

  • SQL 伺服器目的地

  • 全部聯集

AWS SCT可以將更多 SSIS 組件轉換為AWS Glue。如需詳細資訊,請參閱SSIS 組件AWS SCT可以轉換為AWS Glue