Paramètres obligatoires pour l'assistant de création de sources de données - Amazon Machine Learning

Nous ne mettons plus à jour le service Amazon Machine Learning et n'acceptons plus de nouveaux utilisateurs pour ce service. Cette documentation est disponible pour les utilisateurs existants, mais nous ne la mettons plus à jour. Pour plus d'informations, veuillez consulter la rubriqueQu'est-ce qu'Amazon Machine Learning.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Paramètres obligatoires pour l'assistant de création de sources de données

Pour permettre à Amazon ML de se connecter à votre base de données Amazon Redshift et de lire les données à votre place, vous devez fournir les éléments suivants :

  • L'Amazon RedshiftClusterIdentifier

  • Nom de la base de données Amazon Redshift

  • Les informations d'identification de la base de données Amazon Redshift (nom d'utilisateur et mot de passe)

  • Amazon ML Amazon RedshiftAWS Identity and Access Management(IAM)

  • La requête Amazon Redshift SQL

  • (Facultatif) L'emplacement du schéma Amazon ML

  • L'emplacement intermédiaire Amazon S3 (où Amazon ML place les données avant la création de la source de données)

De plus, vous devez vous assurer que les utilisateurs ou les rôles IAM qui créent les sources de données Amazon Redshift (via la console ou en utilisant laCreateDatasourceFromRedshiftaction) ont leiam:PassRoleAutorisations.

Amazon RedshiftClusterIdentifier

Utilisez ce paramètre sensible à la casse pour permettre à Amazon ML de rechercher votre cluster et de s'y connecter. Vous pouvez obtenir l'identifiant du cluster (nom) à partir de la console Amazon Redshift. Pour plus d'informations sur les clusters, consultezCluster Amazon Redshift.

Nom de la base de données Amazon Redshift

Utilisez ce paramètre pour indiquer à Amazon ML quelle base de données du cluster Amazon Redshift contient les données que vous voulez utiliser comme source de données.

Les informations d'identification pour la base de données

Utilisez ces paramètres pour spécifier le nom d'utilisateur et le mot de passe de l'utilisateur de base de données Amazon Redshift dans le contexte duquel la requête de sécurité s'exécutera.

Note

Amazon ML nécessite un nom d'utilisateur et un mot de passe Amazon Redshift pour se connecter à votre base de données Amazon Redshift. Après le déchargement des données dans Amazon S3, Amazon ML ne réutilise jamais votre mot de passe et ne le stocke pas.

Rôle Amazon Redshift Amazon ML

Utilisez ce paramètre pour spécifier le nom du rôle IAM qu'Amazon ML doit utiliser pour configurer les groupes de sécurité pour le cluster Amazon Redshift et la stratégie de compartiment pour l'emplacement intermédiaire Amazon S3.

Si vous ne disposez pas d'un rôle IAM pouvant accéder à Amazon Redshift, Amazon ML peut créer un rôle pour vous. Lorsqu'Amazon ML crée un rôle, une stratégie gérée par le client est créée et attachée à un rôle IAM. La stratégie qu'Amazon ML crée accorde à Amazon ML pour accéder uniquement au cluster que vous spécifiez.

Si vous possédez déjà un rôle IAM pour accéder à Amazon Redshift, vous pouvez taper le nom ARN du rôle ou choisir le rôle dans la liste déroulante. Les rôles IAM avec un accès Amazon Redshift sont répertoriés en haut de la liste déroulante.

Le rôle IAM doit avoir le contenu suivant :

{ "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/*" } } }] }

Pour plus d'informations sur les stratégies gérées par le client, consultezStratégies gérées par le clientdans leIAM User Guide.

Requête Amazon Redshift SQL

Utilisez ce paramètre pour spécifier la requête SQL SELECT qu'Amazon ML exécute sur votre base de données Amazon Redshift pour sélectionner vos données. Amazon ML utilise Amazon RedshiftDÉCHARGERpour copier en toute sécurité les résultats de votre requête dans un emplacement Amazon S3.

Note

Amazon ML fonctionne de façon optimale lorsque les enregistrements d'entrée sont dans un ordre aléatoire (réorganiser aléatoirement). Vous pouvez facilement réformer aléatoirement les résultats de votre requête SQL Amazon Redshift à l'aide d'Amazon Redshift.random (). Par exemple, supposons que la requête d'origine est :

"SELECT col1, col2, … FROM training_table"

Vous pouvez intégrer une réorganisation aléatoire en mettant à jour la requête comme ceci :

"SELECT col1, col2, … FROM training_table ORDER BY random()"
Emplacement du schéma (facultatif)

Utilisez ce paramètre pour spécifier le chemin d'accès Amazon S3 à votre schéma pour les données Amazon Redshift qu'Amazon ML exportera.

Si vous ne fournissez pas de schéma pour votre source de données, la console Amazon ML crée automatiquement un schéma Amazon ML basé sur le schéma de données de la requête SQL Amazon Redshift. Les schémas Amazon ML ont moins de types de données que les schémas Amazon Redshift, si bien qu'il ne s'agit pas d'une conversion un-à-un. La console Amazon ML convertit les types de données Amazon Redshift en types de données Amazon ML à l'aide du schéma de conversion suivant.

Types de données Amazon Redshift Alias Amazon Redshift Type de données 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 (catégorie)
VARCHAR CHARACTER VARYING, NVARCHAR, TEXT TEXT
DATE TEXT
TIMESTAMP TIMESTAMP WITHOUT TIME ZONE TEXT

À convertir en Amazon MLBinaryLes valeurs booléennes Amazon Redshift figurant dans vos données doivent être des valeurs binaires Amazon ML prises en charge. Si votre type de données booléen possède des valeurs non prises en charge, Amazon ML les convertit vers le type de données le plus spécifique possible. Par exemple, si un booléen Amazon Redshift possède les valeurs0,1, et2, Amazon ML convertit le booléen en unNumericType de données. Pour plus d'informations sur les valeurs binaires prises en charge, consultez Utilisation du champ AttributeType.

Si Amazon ML ne peut pas déterminer de type de données, la valeur par défautText.

Une fois qu'Amazon ML a converti le schéma, vous pouvez vérifier et corriger les types de données Amazon ML attribués dans l'assistant de création de sources de données, et réviser le schéma avant qu'Amazon ML crée la source de données.

Emplacement intermédiaire Amazon S3

Utilisez ce paramètre pour spécifier le nom de l'emplacement intermédiaire Amazon S3 où Amazon ML stocke les résultats de la requête SQL Amazon Redshift. Après avoir créé la source de données, Amazon ML utilise les données dans l'emplacement intermédiaire au lieu de retourner à Amazon Redshift.

Note

Comme Amazon ML endosse le rôle IAM défini par le rôle Amazon ML Amazon Redshift, Amazon ML dispose des autorisations nécessaires pour accéder à tous les objets figurant dans l'emplacement intermédiaire Amazon S3 spécifié. De ce fait, nous vous recommandons de stocker uniquement les fichiers qui ne contiennent pas d'informations sensibles dans l'emplacement intermédiaire Amazon S3. Par exemple, si votre compartiment racine ests3://mybucket/, nous vous suggérons de créer un emplacement pour stocker uniquement les fichiers auxquels vous voulez qu'Amazon ML accède, tel ques3://mybucket/AmazonMLInput/.