建立資料來源精靈的必要參數 - Amazon Machine Learning

我們不再更新 Amazon Machine Learning 服務或接受新使用者。本文件適用於現有使用者,但我們不再對其進行更新。如需詳細資訊,請參閱什麼是 Amazon Machine Learning

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

建立資料來源精靈的必要參數

若要讓 Amazon ML 連接至 Amazon Redshift (Amazon Redshift) 資料庫並代表您讀取資料,您必須提供下列項目:

  • Amazon RedshiftClusterIdentifier

  • Amazon Redshift 資料庫名稱

  • Amazon Redshift 資料庫登入資料 (使用者名稱和密碼)

  • 亞馬遜 ML Amazon RedshiftAWS Identity and Access Management(IAM) 角色

  • Amazon Redshift SQL 查詢

  • (選用) Amazon ML 結構描述的位置

  • Amazon S3 暫存位置 (Amazon ML 在建立資料來源之前放置資料的位置)

此外,您需要確保建立 Amazon Redshift 資料來源 (不論是透過主控台或使用CreateDatasourceFromRedshift操作)具有iam:PassRole許可。

Amazon RedshiftClusterIdentifier

使用此區分大小寫參數,讓 Amazon ML 尋找並連接至叢集。您可以從 Amazon Redshift 主控台取得叢集識別符 (名稱)。如需叢集的詳細資訊,請參Amazon Redshift 叢集

Amazon Redshift 資料庫名稱

使用此參數可告訴 Amazon ML Amazon Redshift (Amazon Redshift) 叢集中的哪個資料庫包含您要用作資料來源的資料。

Amazon Redshift 資料庫登入資料

使用這些參數可指定 Amazon Redshift 資料庫使用者將在其內容中執行安全查詢的使用者名稱和密碼。

注意

若要連接至卓越 Amazon Redshift (Amazon Ledshift) 資料庫,而需要使用者名稱和密碼才能連接至卓越 將資料卸載至 Amazon S3 之後,Amazon ML 絕對不會重複使用您的密碼,也不會存取它。

亞馬遜 ML Amazon Redshift 角色

使用此參數可指定 Amazon ML 應該使用的 IAM 角色名稱,而應該使用它來設定 Amazon Redshift 叢集的安全組以及 Amazon S3 暫存位置的儲存貯體政策。

如果您沒有可存取 Amazon Redshift 的 IAM 角色,則 Amazon ML 可以建立角色。Amazon ML 建立角色時會建立客户受管政策,並將其附加至 IAM 角色。Amazon ML 建立的政策會授予 Amazon ML 許可,僅限存取您指定的叢集。

如果您已經有 IAM 角色可存取 Amazon Redshift,則可以鍵入角色的 ARN,或從下拉式選單中選擇角色。具有 Amazon Redshift 存取的 IAM 角色會列在下拉式選單頂端。

IAM 角色必須具有下列內容:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "machinelearning.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:datasource/*" } } }] }

如需客户管理政策的詳細資訊,請參客戶受管政策中的IAM User Guide

Amazon Redshift SQL 查詢

使用此參數可指定 Amazon ML 在 Amazon Redshift 資料庫中執行以選取資料的 SQL SELECT 查詢。亞馬遜 ML 使用 Amazon Redshift卸下操作,安全地將查詢結果複製至 Amazon S3 位置。

注意

當輸入記錄以隨機順序 (隨機播放) 時,Amazon ML 的運作極為良好。您可以使用 Amazon Redshift (Amazon Redshift) 輕鬆地隨機播放 Amazon Redshift SQL 查詢的結果。隨機 ()函數。例如,假設這是原始查詢:

"SELECT col1, col2, … FROM training_table"

您可以更新下列這類查詢來內嵌隨機播放:

"SELECT col1, col2, … FROM training_table ORDER BY random()"
結構描述位置 (選用)

使用此參數可指定 Amazon ML 將匯出之 Amazon Redshift 資料的 Amazon Redshift 資料的 Amazon S3 路徑。

如果您未提供資料來源的結構描述,Amazon ML 主控台將根據 Amazon Redshift SQL 查詢的資料結構描述自動建立 Amazon ML 結構描述。Amazon ML 結構描述具有的資料類型比 Amazon Redshift 結構描述還要少,所以並非一對一轉換。Amazon ML 主控台使用下列轉換方式,將 Amazon Redshift 資料類型轉換為 Amazon ML 資料類型。

Amazon Redshift 資料類型 Amazon Redshift 別名 Amazon ML 資料類型
SMALLINT INT2 NUMERIC
INTEGER INT、INT4 NUMERIC
BIGINT INT8 NUMERIC
DECIMAL NUMERIC NUMERIC
REAL FLOAT4 NUMERIC
DOUBLE PRECISION FLOAT8、FLOAT NUMERIC
BOOLEAN BOOL BINARY
CHAR CHARACTER、NCHAR、BPCHAR CATEGORICAL
VARCHAR CHARACTER VARYING、NVARCHAR、TEXT TEXT
DATE TEXT
TIMESTAMP TIMESTAMP WITHOUT TIME ZONE TEXT

轉換為亞馬遜 MLBinary資料類型時,資料中的 Amazon Redshift 布林值必須是受支援的 Amazon ML 二元值。如果您的布林值資料類型具有不支援的值,則 Amazon ML 會將它們轉換為最特定的資料類型。例如,如果 Amazon Redshift 布爾值具有01,以及2時,亞馬遜 ML 會將布爾值轉換為Numeric資料類型。如需所支援二元值的詳細資訊,請參閱使用 AttributeType 欄位

如果 Amazon ML 無法理解資料類型,則會預設為Text

Amazon ML 轉換結構描述之後,您可以在 Create Datasource (建立資料來源) 精靈中檢和更正已指派的 Amazon ML 資料類型,並在 Amazon ML 建立資料來源之前修訂結構描述。

Amazon S3 暫存位置

使用此參數可指定 Amazon ML 存放 Amazon Redshift SQL 查詢結果的 Amazon S3 暫存位置名稱。建立資料來源之後,Amazon ML 會使用暫存位置中的資料,而不是返回至 Amazon Redshift。

注意

因為 Amazon ML 擔任 Amazon ML Amazon Redshift 角色所定義的 IAM 角色,所以 Amazon ML 具有存取所指定 Amazon S3 暫存位置中任何物件的許可。因此,建議您只存放 Amazon S3 暫存位置中未包含敏感資訊的檔案。例如,如果您的根存儲桶是s3://mybucket/此外,建議您建立一處位置,僅限存放您希望 Amazon ML 存取的檔案,例如s3://mybucket/AmazonMLInput/