連線至資料來源 - Amazon SageMaker

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

連線至資料來源

在 Amazon SageMaker Canvas 中,您可以透過 AWS 服務、SaaS 平台或使用 JDBC 連接器的其他資料庫,從本機檔案系統以外的位置匯入資料。例如您可能想要從 Amazon Redshift 中的資料倉儲匯入資料表,或者您可能想要匯入 Google Analytics (分析) 資料。

當您在 Canvas 應用程式中執行匯入工作流程來 匯入資料時,您可以選擇資料來源,然後選取要匯入的資料。針對某些資料來源,例如 Snowflake 和 Amazon Redshift,您必須指定憑證並新增至資料來源的連線。

下列螢幕擷取畫面顯示匯入工作流程中的資料來源工具列,並重點標示所有可用的資料來源。您只能從可用的資料來源匯入資料。如果您想要的資料來源無法使用,請聯絡您的管理員。

在 Canvas 匯入資料頁面上,開啟 資料來源下拉式清單。

以下各節提供有關建立與外部資料來源的連線以及從外部資料來源匯入資料的資訊。請先檢閱下一節,以確定從資料來源匯入資料所需的許可。

許可

請檢閱下列資訊,以確保您具有從資料來源匯入資料的必要許可:

  • Amazon S3:只要您的使用者有存取儲存貯體的許可,就可以從任何 Amazon S3 儲存貯體匯入資料。如需有關使用 AWS IAM 控制 Amazon S3 儲存貯體存取的詳細資訊,請參閱 Amazon S3 使用者指南中的 Amazon S3 中的身分識別和存取管理

  • Amazon Athena:如果您將AmazonSageMakerFull存取政策和政AmazonSageMakerCanvasFullAccess策附加到使用者的執行角色,則可以 AWS Glue Data Catalog 透過 Amazon Athena 進行查詢。如果您是 Athena 工作群組的一員,請確定 Canvas 使用者擁有對資料執行 Athena 查詢的許可。如需更多資訊,請參閱 Amazon Athena 使用者指南中的使用工作群組來執行查詢

  • Amazon DocumentDB:只要您有登入資料 (使用者名稱和密碼) 可連線到資料庫,並將最低基本 Canvas 許可附加至使用者的執行角色,就可以從任何 Amazon DocumentDB 資料庫匯入資料。如需畫布權限的詳細資訊,請參閱設置 Amazon SageMaker 畫布的先決條件

  • Amazon Redshift:若要授予從 Amazon Redshift 匯入資料的必要許可給自己,請參閱授予使用者匯入 Amazon Redshift 資料的許可

  • Amazon RDS:如果您將AmazonSageMakerCanvasFullAccess政策附加到使用者的執行角色,則可以從畫布存取 Amazon RDS 資料庫。

  • SaaS 平台:如果您將AmazonSageMakerFull存取原則和原AmazonSageMakerCanvasFullAccess則附加至使用者的執行角色,則您擁有從 SaaS 平台匯入資料的必要權限。如需連接至特定 SaaS 連接器的更多相關資訊,請參閱搭配 Canvas 使用 SaaS 連接器

  • JDBC 連接器:對於資料庫來源 (例如 Databricks、MySQL 或 MariaDB),您必須在來源資料庫上啟用使用者名稱和密碼驗證,然後再嘗試從 Canvas 連線。如果您要連線到 Databricks 則必須擁有包含必要憑證的 JDBC URL。

Connect 到存儲在的數據庫 AWS

您可能想要匯入已儲存的資料 AWS。您可以從 Amazon S3 匯入資料、使用 Amazon Athena 查詢中的資料庫 AWS Glue Data Catalog、從 Amazon RDS 匯入資料,或與佈建的 Amazon Redshift 資料庫建立連線 (非 Redshift 無伺服器)。

您可以建立 Amazon Redshift 的多個連線。針對 Amazon Athena,您可以存取在 AWS Glue Data Catalog 上擁有的任何資料庫。針對 Amazon S3,只要您擁有必要的許可,就可以從儲存貯體匯入資料。

如需詳細資訊,請檢閱下列各節。

連線到 Amazon S3、Amazon Athena 或 Amazon RDS 中的資料

針對 Amazon S3,只要您擁有存取儲存貯體的許可,就可以從 Amazon S3 儲存貯體匯入資料。

對於亞馬遜雅典娜,只要您 AWS Glue Data Catalog 擁有 Amazon Athena 工作群組的許可,就可以存取您中的資料庫。

對於 Amazon RDS,如果您將AmazonSageMakerCanvasFullAccess政策附加到使用者的角色,就可以將資料從 Amazon RDS 資料庫匯入畫布。

若要從 Amazon S3 儲存貯體匯入資料,或使用 Amazon Athena 執行查詢和匯入資料表,請參閱建立資料集。您只能從 Amazon Athena 匯入表格式資料,而且可以從 Amazon S3 匯入表格式和影像資料。

Connect 到 Amazon DocumentDB

Amazon DocumentDB 是全受管、無伺服器的文件資料庫服務。您可以將存放在 Amazon DocumentDB 資料庫中的非結構化文件資料作為表格資料集匯入 SageMaker Canvas,然後可以使用這些資料建立機器學習模型。

重要

您的 SageMaker 網域必須在僅限 VPC 模式下設定,才能將連線新增至 Amazon DocumentDB。您只能在與畫布應用程式相同的 Amazon VPC 中存取亞馬遜 Amazon DocumentDB 叢集。此外,畫布只能連線到啟用 TLS 的 Amazon DocumentDB 叢集。如需如何在僅限 VPC 模式下設定 Canvas 的詳細資訊,請參閱在沒有互聯網訪問權限的 VPC 中配置 Amazon SageMaker 畫布

若要從 Amazon DocumentDB 資料庫匯入資料,您必須擁有登入資料才能存取 Amazon DocumentDB 資料庫,並在建立資料庫連線時指定使用者名稱和密碼。您可以透過修改 Amazon DocumentDB 使用者許可來設定更精細的許可並限制存取。若要進一步了解 Amazon DocumentDB 中的存取控制,請參閱 Amazon DocumentDB 開發人員指南中的使用以角色為基礎的存取控制進行資料庫存取。

當您從 Amazon DocumentDB 匯入時,Canvas 會將欄位對應至資料表中的資料行,將非結構化資料轉換為表格式資料集。會為資料中的每個複雜欄位 (或巢狀結構) 建立其他表格,其中欄對應於複雜欄位的子欄位。如需有關此程序和結構描述轉換範例的詳細資訊,請參閱 Amazon DocumentDB JDBC 驅動程式結構描述探索頁面。 GitHub

畫布只能連接到 Amazon DocumentDB 中的單個數據庫。若要從不同的資料庫匯入資料,您必須建立新的連線。

您可以使用下列方法將資料從 Amazon DocumentDB 匯入畫布:

  • 建立資料集。 您可以匯入 Amazon 文件資料庫資料,並在畫布中建立表格資料集。如果您選擇此方法,請務必遵循匯入表格資料程序。

  • 建立資料流程。 您可以在 Canvas 中建立資料準備管道,並將 Amazon DocumentDB 資料庫新增為資料來源。

若要繼續匯入資料,請遵循上述清單中所連結方法之一的程序。

當您到達工作流程中選擇資料來源的步驟 (建立資料集的步驟 6,或建立資料流程的步驟 8) 時,請執行下列動作:

  1. 對於數據源,打開下拉菜單,然後選擇 Document DB。

  2. 選擇 Add Connection (新增連線)。

  3. 在對話方塊中,指定您的 Amazon 文件資料庫登入資料:

    1. 輸入連線名稱。這是 Canvas 用來識別此連線的名稱。

    2. 對於叢集,請在 Amazon DocumentDB 中選取用於儲存資料的叢集。畫布會在與畫布應用程式相同的 VPC 中自動填入 Amazon DocumentDB 叢集的下拉式功能表。

    3. Amazon DocumentDB 叢集的使用者名稱。

    4. 輸入您的 Amazon DocumentDB 叢集的密碼

    5. 輸入要連線的資料庫名稱。

    6. 讀取偏好設定選項可決定叢集上 Canvas 讀取資料的執行個體類型。選擇下列其中之一:

      • 次要偏好 — Canvas 預設為從叢集的次要執行個體讀取,但如果次要執行個體無法使用,則 Canvas 會從主執行個體讀取。

      • 次要 — Canvas 僅從叢集的次要執行個體讀取,以防止讀取作業干擾叢集的常規讀取和寫入作業。

    7. 選擇 Add Connection (新增連線)。下圖顯示具有 Amazon DocumentDB 連線之前欄位的對話方塊。

      畫布中添加新的 DocumentDB 連接對話框的屏幕截圖。

您現在應該有 Amazon DocumentDB 連線,而且您可以使用畫布中的 Amazon DocumentDB 資料來建立資料集或資料流程。

連線至 Amazon Redshift 資料庫

您可以從 Amazon Redshift 匯入資料,這是您的組織儲存資料的資料倉儲。您使用的 AWS IAM 角色必須先附加AmazonRedshiftFullAccess受管政策,才能從 Amazon Redshift 匯入資料。如需有關如何連接政策的指示,請參閱授予使用者匯入 Amazon Redshift 資料的許可

若要從 Amazon Redshift 匯入資料,請執行以下操作:

  1. 建立與 Amazon Redshift 資料庫的連線。

  2. 選擇您要匯入的資料。

  3. 匯入資料。

您可以使用 Amazon Redshift 編輯器將資料集拖曳到匯入窗格上,然後將其匯入 SageMaker 畫布。如需對資料集傳回的值進一步控制,您可以使用下列各項:

  • SQL 查詢

  • 聯結

使用 SQL 查詢,您可以自訂資料集中匯入值的方式。例如,您可以指定資料集中傳回的資料欄,或指定資料欄的值範圍。

您可以使用聯結將 Amazon Redshift 中的多個資料集合併為單一資料集。您可以將資料集從 Amazon Redshift 拖曳到面板中,讓您能夠聯結資料集。

您可以使用 SQL 編輯器編輯已加入的資料集,並將聯結的資料集轉換為單一節點。您可以將另一個資料集聯結至節點。您可以將已選取的資料匯入「 SageMaker 畫布」。

使用下列程序從 Amazon Redshift 匯入資料。

  1. 在 SageMaker Canvas 應用程式中,前往「資料集」頁面。

  2. 選擇導入數據,然後從下拉菜單中選擇表格

  3. 輸入資料集的名稱,然後選擇建立

  4. 對於資料來源,開啟下拉式功能表並選擇 Redshift

  5. 選擇 Add Connection (新增連線)。

  6. 在對話方塊中,指定您的 Amazon Redshift 憑證:

    1. 針對驗證方法,請選擇 IAM

    2. 輸入叢集識別碼,以指定要連線的叢集。只輸入叢集識別碼,而不要輸入 Amazon Redshift 叢集的完整端點。

    3. 輸入您要連接的資料庫之資料庫名稱

    4. 輸入資料庫使用者,以識別您要用來連線至資料庫的使用者。

    5. 針對 ARN,請輸入 Amazon Redshift 叢集應該假定將資料移動和寫入至 Amazon S3 的角色的 IAM 角色 ARN。如需有關此角色的詳細資訊,請參閱 Amazon Redshift 管理指南中的授權 Amazon Redshift 代表您存取其他 AWS 服務

    6. 輸入連線名稱。這是 Canvas 用來識別此連線的名稱。

  7. 從具有連線名稱的索引標籤中,將要匯入的 .csv 檔案拖曳至拖放資料表來匯入窗格。

  8. 選用:將其他資料表拖曳至匯入窗格。您可以使用 GUI 來聯結資料表。如需聯結中的具體細節,請選擇在 SQL 中編輯

  9. 選用:如果您使用 SQL 來查詢資料,您可以選擇內容來指定下列項目的值,將內容新增至連線:

    • 倉儲

    • 資料庫

    • 結構描述

  10. 選擇匯入資料

下列影像顯示針對 Amazon Redshift 連線指定的欄位範例。

畫布中添加新的 Redshift 連接對話框的屏幕截圖。

下列影像顯示了在 Amazon Redshift 中聯結資料集時使用的頁面。

Canvas 中匯入頁面的螢幕擷取畫面,顯示正在加入的兩個資料集。

下列影像顯示了用於在 Amazon Redshift 中編輯聯結的 SQL 查詢。

「畫布」中「匯入」頁面上「編輯 SQL」編輯器中 SQL 查詢的螢幕擷取畫面。

使用 JDBC 連接器連接至您的資料

您可以使用 JDBC 從諸如 Databricks、SQLServer、MySQL、PostgreSQL、MariaDB、Amazon RDS 和 Amazon Aurora 等來源連接到資料庫。

您必須確定您擁有必要的憑證和許可,才能從 Canvas 建立連線。

  • 針對 Databricks,您必須提供 JDBC URL。URL 格式可能會因 Databricks 執行個體而有所不同。如需尋找 URL 及其中指定參數的詳細資訊,請參閱 Databricks 說明文件中的 JDBC 組態和連線參數。以下是 URL 格式的範例:jdbc:spark://aws-sagemaker-datawrangler.cloud.databricks.com:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/3122619508517275/0909-200301-cut318;AuthMech=3;UID=token;PWD=personal-access-token

  • 對於其他資料庫來源,您必須設定使用者名稱和密碼驗證,然後在從 Canvas 連線至資料庫時指定這些認證。

此外,您的資料來源必須可透過公用網際網路存取,或者如果 Canvas 應用程式在僅限 VPC 模式下執行,則資料來源必須在相同的 VPC 中執行。如需在 VPC 中設定 Amazon RDS 資料庫的詳細資訊,請參閱 Amazon RDS 使用者指南中的 Amazon VPC VPCs 和 Amazon RDS

設定資料來源認證後,您可以登入 Canvas 應用程式並建立與資料來源的連線。建立連線時,請指定您的認證 (或對於資料庫而言,URL)。

使用 OAuth Connect 至資料來源

Canvas 支援使用 OAuth 做為驗證方法,以連線至 Snowflake 和 Salesforce Data Cloud 中的資料。OAuth 是一種通用的驗證平台,用於在不共享密碼的情況下授予資源存取權。

注意

您只能為每個資料來源建立一個 OAuth 連線。

若要授權連線,您必須遵循使用 OAuth 設定與資料來源的連線中所述的初始設定。

設定 OAuth 認證之後,您可以執行下列動作使用 OAuth 新增 Snowflake 或 Salesforce Data Cloud 連線:

  1. 登入 Web 應用程式。

  2. 建立表格式資料集。當系統提示您上傳資料時,請選擇 Snowflake 或 Salesforce Data Cloud 做為您的資料來源。

  3. 建立與 Snowflake 或 Salesforce Data Cloud 資料來源的新連線。指定 OAuth 作為驗證方法,然後輸入您的連線詳細資料。

您現在應該可以從 Snowflake 或 Salesforce Data Cloud 中的資料庫匯入資料。

連接 SaaS 平台

您可以從 Snowflake 和其他 40 多個外部 SaaS 平台匯入資料。如需連接器的完整清單,請參閱將資料匯入 Canvas。上的資料表。

注意

您只能從 SaaS 平台匯入表格式資料,例如資料表。

搭配 Canvas 使用 Snowflake

雪花是一種數據存儲和分析服務,您可以將數據從雪花導入到 SageMaker Canvas 中。如需有關 Snowflake 的詳細資訊,請參閱 Snowflake 文件

若要從 Snowflake 帳戶匯入資料,請執行以下動作:

  1. 建立與 Snowflake 資料庫的連線。

  2. 將表格從左側導覽功能表拖放到編輯器中,以選擇要匯入的資料。

  3. 匯入資料。

您可以使用 Snowflake 編輯器將資料集拖曳至匯入窗格,然後將其匯入 SageMaker Canvas。如需對資料集傳回的值進一步控制,您可以使用下列各項:

  • SQL 查詢

  • 聯結

使用 SQL 查詢,您可以自訂資料集中匯入值的方式。例如,您可以指定資料集中傳回的資料欄,或指定資料欄的值範圍。

您可以在使用 SQL 或 Canvas 介面匯入 Canvas 之前,將多個 Snowflake 資料集合成單一資料集。您可以將資料集從 Snowflake 拖曳到可讓您聯結資料集的面板中,或者您也可以在 SQL 中編輯聯結,然後將 SQL 轉換為單一節點。您可以將其他節點連接到已轉換的節點。然後,您可以將已加入的資料集合成單一節點,並將這些節點加入不同的 Snowflake 資料集。最後,您可以將選擇的資料匯入到 Canvas 中。

請使用下列程序將資料從雪花匯入 Amazon SageMaker 畫布。

  1. 在 SageMaker Canvas 應用程式中,前往「資料集」頁面。

  2. 選擇導入數據,然後從下拉菜單中選擇表格

  3. 輸入資料集的名稱,然後選擇建立

  4. 對於資料來源,開啟下拉式功能表並選擇 Snowflake

  5. 選擇 Add Connection (新增連線)。

  6. 新增 Snowflake 連線對話方塊中,指定您的 Snowflake 認證。對於驗證方法,您可以選擇基本 - 用戶名密碼ARNOAuth。OAuth 可讓您在不提供密碼的情況下進行驗證,但需要額外的設定。如需設定分享之登入資料的詳細資訊,請參閱使用 OAuth 設定與資料來源的連線

  7. 選擇 Add Connection (新增連線)。

  8. 從具有連線名稱的索引標籤中,將要匯入的 .csv 檔案拖曳至拖放資料表來匯入窗格。

  9. 選用:將其他資料表拖曳至匯入窗格。您可以使用使用者介面來連接表格。如需聯結中的具體細節,請選擇在 SQL 中編輯

  10. 選用:如果您使用 SQL 來查詢資料,您可以選擇內容來指定下列項目的值,將內容新增至連線:

    • 倉儲

    • 資料庫

    • 結構描述

    將內容新增到連接可以更輕鬆地指定未來的查詢。

  11. 選擇匯入資料

下列影像顯示 Snowflake 連線指定的欄位範例。

畫布中添加新的雪花連接對話框的屏幕截圖。

下列影像顯示了用於將內容新增到連線的頁面。

畫布中導入頁面的屏幕截圖,顯示「上下文」對話框。

下列影像顯示用於聯結 Snowflake 資料集的頁面。

Canvas 中匯入頁面的螢幕擷取畫面,顯示正在加入的資料集。

下列影像顯示將 SQL 查詢用於編輯 Snowflake 中的聯結。

「畫布」中「匯入」頁面上「編輯 SQL」編輯器中 SQL 查詢的螢幕擷取畫面。

搭配 Canvas 使用 SaaS 連接器

注意

針對 SaaS 平台,除了 Snowflake 之外每個資料來源只能有一個連線。

您的管理員必須先驗證並建立與資料來源的連線,才能從 SaaS 平台匯入資料。有關管理員如何與 SaaS 平台建立連接的詳細資訊,請參閱 Amazon AppFlow 使用者指南中的管理 Amazon AppFlow 接。

如果您是第一次開始使用 Amazon AppFlow 的管理員,請參閱 Amazon AppFlow 使用者指南中的入門指南

要從 SaaS 平台匯入資料,您可以遵循標準 匯入表格式資料 程序,該程序向您展示如何將表格式資料集匯入 Canvas。