我們不再更新 Amazon Machine Learning 服務或接受新的使用者。本文件可供現有使用者使用,但我們不再更新。如需詳細資訊,請參閱什麼是 Amazon Machine Learning。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon ML 可讓您從存放在 Amazon Relational Database Service (Amazon RDS) 中 MySQL 資料庫的資料建立資料來源物件。當您執行此動作時,Amazon ML 會建立執行您指定之 SQL 查詢的 AWS Data Pipeline 物件,並將輸出放入您選擇的 S3 儲存貯體。Amazon ML 使用該資料來建立資料來源。
注意
Amazon ML 僅支援 VPCs中的 MySQL 資料庫。
在 Amazon ML 可以讀取輸入資料之前,您必須將該資料匯出至 Amazon Simple Storage Service (Amazon S3)。您可以使用 API 設定 Amazon ML 來為您執行匯出。(RDS 僅限於 API,不可從主控台使用。)
為了讓 Amazon ML 連線到 Amazon RDS 中的 MySQL 資料庫,並代表您讀取資料,您需要提供下列項目:
-
RDS 資料庫執行個體識別符
-
MySQL 資料庫名稱
-
用來建立、啟用和執行資料管道的 AWS Identity and Access Management (IAM) 角色
-
資料庫使用者登入資料:
-
使用者名稱
-
密碼
-
-
AWS Data Pipeline 安全資訊:
-
IAM 資源角色
-
IAM 服務角色
-
-
Amazon RDS 安全資訊:
-
子網路 ID
-
安全群組 ID
-
-
SQL 查詢,指定您想要用來建立資料來源的資料
-
用於存放查詢結果的 S3 輸出位置 (儲存貯體)
-
(選用) 資料結構描述檔案的位置
此外,您需要確保使用 CreateDataSourceFromRDS 操作建立 Amazon RDS 資料來源的 IAM 使用者或角色具有 iam:PassRole
許可。如需詳細資訊,請參閱控制 Amazon ML 資源的存取 - 使用 IAM。
RDS 資料庫執行個體識別符
RDS 資料庫執行個體識別符是您提供的唯一名稱,可識別 Amazon ML 與 Amazon RDS 互動時應使用的資料庫執行個體。您可以在 Amazon RDS 主控台中找到 RDS 資料庫執行個體識別符。
MySQL 資料庫名稱
MySQL 資料庫名稱指定 RDS 資料庫執行個體中的 MySQL 資料庫名稱。
資料庫使用者登入資料
若要連接到 RDS 資料庫執行個體,您必須提供具有足夠許可之資料庫使用者的使用者名稱和密碼,才能執行您提供的 SQL 查詢。
AWS Data Pipeline 安全資訊
若要啟用安全的 AWS Data Pipeline 存取,您必須提供 IAM 資源角色和 IAM 服務角色的名稱。
EC2 執行個體會擔任資源角色,將資料從 Amazon RDS 複製到 Amazon S3。建立此資源角色最簡單的方式是使用 DataPipelineDefaultResourceRole
範本,並將 machinelearning.aws.com
列為信任的服務。如需範本的詳細資訊,請參閱 AWS Data Pipeline 開發人員指南中的設定 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/*" }
}
}]
}
AWS Data Pipeline 擔任服務角色,以監控將資料從 Amazon RDS 複製到 Amazon S3 的進度。建立此資源角色最簡單的方式是使用 DataPipelineDefaultRole
範本,並將 machinelearning.aws.com
列為信任的服務。如需範本的詳細資訊,請參閱 AWS Data Pipeline 開發人員指南中的設定 IAM 角色。
Amazon RDS 安全資訊
若要啟用安全的 Amazon RDS 存取,您需要提供 VPC Subnet ID
和 RDS Security Group IDs
。您也需要設定由 Subnet ID
參數指向的 VPC 子網路適當輸入規則,並提供具有此許可的安全群組 ID。
MySQL SQL 查詢
MySQL SQL Query
參數指定您想在 MySQL 資料庫上執行的 SQL SELECT 查詢。查詢的結果會複製到您指定的 S3 輸出位置 (儲存貯體)。
注意
當輸入記錄以隨機順序 (隨機播放) 呈現時,機器學習記數的運作最為良好。您可以使用 rand()
函數,輕鬆地隨機播放 MySQL SQL 查詢的結果。例如,假設這是原始查詢:
"SELECT col1, col2, … FROM training_table"
您可以更新查詢來增加隨機播放,如下所示:
"SELECT col1, col2, … FROM training_table ORDER BY rand()"
S3 輸出位置
S3 Output Location
參數指定輸出 MySQL SQL 查詢結果的「預備」Amazon S3 位置的名稱。
注意
從 Amazon RDS 匯出資料後,您需要確保 Amazon ML 具有從此位置讀取資料的許可。如需設定這些許可的詳細資訊,請參閱「授予 Amazon ML 許可從 Amazon S3 讀取您的資料」。