連線至資料來源 - 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 Amazon S3 中的 Amazon S3 中的身分和存取管理Amazon S3

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

  • Amazon DocumentDB :只要您擁有憑證 (使用者名稱和密碼) 來連線至資料庫,且將基本 Canvas 許可下限連接至使用者的執行角色,您就可以從任何 Amazon DocumentDB 資料庫匯入資料。如需 Canvas 許可的詳細資訊,請參閱 設定 Amazon SageMaker Canvas 的先決條件

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

  • Amazon RDS:如果您將AmazonSageMakerCanvasFullAccess政策連接至使用者的執行角色,則您將可以從 Canvas 存取您的 Amazon RDS 資料庫。

  • SaaS 平台:如果您將AmazonSageMakerFullAccess政策和AmazonSageMakerCanvasFullAccess政策連接到使用者的執行角色,則您擁有從 SaaS 平台匯入資料的必要許可。如需連接至特定 SaaS 連接器的更多相關資訊,請參閱搭配 Canvas 使用 SaaS 連接器

  • JDBC 連接器:對於 Databricks、MySQL 或 MariaDB 等資料庫來源,您必須先在來源資料庫上啟用使用者名稱和密碼身分驗證,才能嘗試從 Canvas 連線。如果您要連線至 Databricks 資料庫,您必須擁有包含必要憑證JDBCURL的 。

連線至 中存放的資料庫 AWS

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

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

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

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

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

對於 Amazon Athena , AWS Glue Data Catalog 只要您擁有 Amazon Athena 工作群組 的許可,即可存取 中的資料庫。

對於 Amazon RDS,如果您將AmazonSageMakerCanvasFullAccess政策連接至使用者的角色,則您將能夠將資料從 Amazon RDS 資料庫匯入 Canvas。

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

連線至 Amazon DocumentDB 資料庫

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

重要

您的 SageMaker 網域必須設定為VPC僅新增 Amazon DocumentDB 的連線。您只能VPC在與 Canvas 應用程式相同的 Amazon 中存取 Amazon DocumentDB 叢集。此外,Canvas 只能連線至TLS已啟用 的 Amazon DocumentDB 叢集。如需如何在VPC僅限模式下設定 Canvas 的詳細資訊,請參閱 在 VPC 中設定 Amazon SageMaker Canvas 而不存取網際網路

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

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

Canvas 只能連線到 Amazon DocumentDB 中的單一資料庫。若要從不同的資料庫匯入資料,您必須建立新的連線。

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

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

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

若要繼續匯入資料,請依照上述清單中連結的其中一個方法的程序進行。

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

  1. 對於資料來源 ,開啟下拉式選單,然後選擇 DocumentDB

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

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

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

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

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

    4. 輸入 Amazon DocumentDB 叢集的密碼

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

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

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

      • 次要 – Canvas 只會從叢集的次要執行個體讀取,這可防止讀取操作干擾叢集的常規讀取和寫入操作。

    7. 選擇 Add Connection (新增連線)。下圖顯示對話方塊,其中包含 Amazon DocumentDB 連線的上述欄位。

      Canvas 中新增 DocumentDB 連線對話方塊的螢幕擷取畫面。

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

連線至 Amazon Redshift 資料庫

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

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

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

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

  3. 匯入資料。

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

  • SQL 查詢

  • 聯結

透過SQL查詢,您可以自訂如何在資料集中匯入值。例如,您可以指定資料集中傳回的資料欄,或指定資料欄的值範圍。

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

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

使用下列程序從 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 叢集應擔任ARN的角色IAM角色,以將資料移動和寫入 Amazon S3。如需此角色的詳細資訊,請參閱 Amazon Redshift 管理指南 中的授權 Amazon Redshift AWS 代表您存取其他服務

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

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

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

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

    • 倉儲

    • 資料庫

    • 結構描述

  10. 選擇匯入資料

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

Canvas 中新增 Redshift 連線對話方塊的螢幕擷取畫面。

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

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

下圖顯示用於在 Amazon Redshift 中編輯聯結的SQL查詢。

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

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

使用 JDBC,您可以從 Databricks、SQLServer、My SQL、Postgre SQL、MariaDB 、Amazon RDS和 Amazon Aurora 等來源連線至資料庫。

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

  • 對於 Databricks,您必須提供 JDBC URL。Databricks 執行個體之間的URL格式可能會有所不同。如需有關尋找 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。如需在 中設定 Amazon RDS 資料庫的詳細資訊VPC,請參閱 Amazon RDS使用者指南 中的 Amazon VPCVPCs和 AmazonRDS

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

使用 連線至資料來源 OAuth

Canvas 支援使用 OAuth作為身分驗證方法,以連線至 Snowflake 和 Salesforce Data Cloud 中的資料。OAuth 是常見的身分驗證平台,可授予 資源的存取權,而無需共用密碼。

注意

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

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

設定OAuth憑證後,您可以執行下列動作,以新增 Snowflake 或 Salesforce Data Cloud 與 的連線OAuth:

  1. 登入 Web 應用程式。

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

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

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

連接 SaaS 平台

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

注意

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

搭配 Canvas 使用 Snowflake

Snowflake 是一種資料儲存和分析服務,您可以將資料從 Snowflake 匯入 SageMaker Canvas。如需有關 Snowflake 的詳細資訊,請參閱 Snowflake 文件

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

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

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

  3. 匯入資料。

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

  • SQL 查詢

  • 聯結

透過SQL查詢,您可以自訂如何在資料集中匯入值。例如,您可以指定資料集中傳回的資料欄,或指定資料欄的值範圍。

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

使用下列程序將資料從 Snowflake 匯入 Amazon SageMaker Canvas。

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

  2. 選擇匯入資料 ,然後從下拉式選單中選擇表格式

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

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

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

  6. 新增 Snowflake 連線對話方塊中,指定您的 Snowflake 認證。針對身分驗證方法 ,選擇下列其中一項:

    • 基本 - 使用者名稱密碼 – 提供您的 Snowflake 帳戶 ID、使用者名稱和密碼。

    • ARN – 為了改善 Snowflake 憑證的保護,請提供包含憑證ARN的 AWS Secrets Manager 秘密。如需詳細資訊,請參閱 AWS Secrets Manager 使用者指南 中的建立 AWS Secrets Manager 秘密

      您的秘密應以下列JSON格式儲存 Snowflake 憑證:

      {"accountid": "ID", "username": "username", "password": "password"}
    • OAuth – OAuth可讓您在不提供密碼的情況下進行身分驗證,但需要額外設定。如需設定 Snowflake OAuth憑證的詳細資訊,請參閱 使用 設定資料來源的連線 OAuth

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

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

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

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

    • 倉儲

    • 資料庫

    • 結構描述

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

  11. 選擇匯入資料

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

在 Canvas 中新增 Snowflake 連線對話方塊的螢幕擷取畫面。

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

Canvas 中匯入頁面的螢幕擷取畫面,顯示內容對話方塊。

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

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

下圖顯示用於在 Snowflake 中編輯聯結的SQL查詢。

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

搭配 Canvas 使用 SaaS 連接器

注意

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

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

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

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