Importação de dados em massa para o Amazon Personalize com um trabalho de importação de conjunto de dados - Amazon Personalize

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Importação de dados em massa para o Amazon Personalize com um trabalho de importação de conjunto de dados

Depois de formatar seus dados de entrada (consultePreparando dados de treinamento para o Amazon Personalize) e concluirCriação de um esquema e um conjunto de dados, você estará pronto para importar seus dados em massa com um trabalho de importação de conjunto de dados. Um trabalho de importação de conjunto de dados é uma ferramenta de importação em massa que preenche um conjunto de dados com dados do Amazon S3.

Para importar dados do Amazon S3, seus CSV arquivos devem estar em um bucket do Amazon S3 e você deve dar permissão ao Amazon Personalize para acessar seus recursos do Amazon S3:

Você pode criar um trabalho de importação de conjunto de dados usando o console Amazon Personalize, AWS Command Line Interface (AWS CLI), ou AWS SDKs. Se você criou anteriormente um trabalho de importação de conjunto de dados para um conjunto de dados, pode usar um novo trabalho de importação de conjunto de dados para adicionar ou substituir os dados em massa existentes. Para obter mais informações, consulte Atualização de dados em conjuntos de dados após o treinamento.

Depois de importar seus dados, você estará pronto para criar recomendadores de domínio (para grupos de conjuntos de dados de domínio) ou recursos personalizados (para grupos de conjuntos de dados personalizados) para treinar um modelo em seus dados. Use esses recursos para gerar recomendações. Para obter mais informações, consulte Recomendadores de domínio no Amazon Personalize ou Recursos personalizados para treinamento e implantação de modelos Amazon Personalize.

Modos de importação

Se você já criou um trabalho de importação para o conjunto de dados, você pode configurar como o Amazon Personalize adiciona seus novos registros. Para fazer isso, você especifica um modo de importação para seu trabalho de importação de conjunto de dados. Se você não importou registros em massa, o campo Modo de importação não está disponível no console e você só pode especificar FULL na CreateDatasetImportJob API operação. O padrão é uma substituição completa.

  • Para sobrescrever todos os dados em massa existentes em seu conjunto de dados, escolha Substituir dados existentes no console do Amazon Personalize ou FULL especifique na operação. CreateDatasetImportJob API Isso não substitui os dados que você importou individualmente, incluindo eventos registrados em tempo real.

  • Para acrescentar os registros aos dados existentes no seu conjunto de dados, escolha Adicionar aos dados existentes ou especifique INCREMENTAL na operação. CreateDatasetImportJob API O Amazon Personalize substitui qualquer registro com o mesmo ID pelo novo.

    nota

    Para acrescentar dados a um conjunto de dados de Interações com itens ou ações com um trabalho de importação de conjunto de dados, é necessário ter, no mínimo, mil novos registros de interação com itens ou com ações.

Criação de um trabalho de importação de conjunto de dados (console)

Importante

Por padrão, um trabalho de importação do conjunto de dados substitui todos os dados existentes no conjunto de dados que você importou em massa. Se você já importou dados em massa, pode acrescentar dados alterando o modo de importação do trabalho.

Para importar registros em massa para um conjunto de dados com o console Amazon Personalize, crie um trabalho de importação de conjunto de dados com um nome, IAM a função do serviço e a localização dos seus dados.

Se você acabou de criar seu conjunto de dados em Criação de um esquema e um conjunto de dados, vá para a etapa 5.

Para importar registros em massa (console)
  1. Abra o console Amazon Personalize em https://console.aws.amazon.com/personalize/casa e faça login na sua conta.

  2. Na página Grupos de conjuntos de dados, escolha seu grupo de conjuntos de dados. A visão geral do grupo de conjuntos de dados é exibida.

  3. No painel de navegação, selecione Conjuntos de dados e escolha o conjunto de dados para o qual você deseja importar dados em massa.

  4. Em Trabalhos de importação do conjunto de dados, escolha Criar trabalho de importação do conjunto de dados.

  5. Se esse for seu primeiro trabalho de importação de conjunto de dados, em Fonte de importação de dados, escolha Importar dados do S3.

  6. Em Nome do trabalho de importação do conjunto de dados, especifique um nome para o trabalho de importação.

  7. Se você já importou dados em massa, no modo Importar, escolha como atualizar o conjunto de dados. Escolha Substituir dados existentes ou Adicionar aos dados existentes. dados. Essa opção não aparece se for seu primeiro trabalho no conjunto de dados. Para obter mais informações, consulte Atualização de dados em conjuntos de dados após o treinamento.

  8. Em Fonte de importação de dados, em Data Location, especifique onde seu arquivo de dados está armazenado no Amazon S3. Use a seguinte sintaxe:

    s3:/amzn-s3-demo-bucket/<folder path>/<CSV filename>

    Se seus CSV arquivos estiverem em uma pasta no bucket do Amazon S3 e você quiser fazer upload de vários CSV arquivos em um conjunto de dados com um trabalho de importação de conjunto de dados, você pode especificar o caminho para a pasta. O Amazon Personalize usa apenas os arquivos no primeiro nível da sua pasta, não usa nenhum dado em nenhuma subpasta. Use a sintaxe a seguir com uma / após o nome da pasta:

    s3:/amzn-s3-demo-bucket/<folder path>/

  9. Em IAMfunção, escolha criar uma nova função ou usar uma existente. Se você preencheu os pré-requisitos, escolha Usar um perfil de serviço existente e especifique o perfil criado em Criação de uma IAM função para o Amazon Personalize.

  10. Se você criou uma atribuição métrica e deseja publicar métricas relacionadas a esse trabalho no Amazon S3, em Publicar métricas de eventos no S3, escolha Publicar métricas para esse trabalho de importação.

    Se você ainda não criou uma e quer publicar métricas para esse trabalho, escolha Criar atribuição métrica para criar uma nova em uma guia diferente. Depois de criar a atribuição métrica, você pode retornar a essa tela e concluir a criação do trabalho de importação.

    Para obter mais informações sobre atribuições métricas, consulte Medindo o impacto das recomendações do Amazon Personalize.

  11. Para Tags, é possível adicionar quaisquer tags. Para obter mais informações sobre recursos de atribuição de tags do Amazon Personalize, consulte Usar tags nos recursos do Amazon Personalize.

  12. Escolha Start import (Iniciar importação). O trabalho de importação de dados será iniciado, e a página Dashboard Overview (Visão geral do painel) será exibida. A importação do conjunto de dados é concluída quando o status é exibido comoACTIVE. Depois de importar dados para um conjunto de dados do Amazon Personalize, você pode analisá-los, exportá-los para um bucket do Amazon S3, atualizá-los ou excluí-los excluindo o conjunto de dados.

    Depois de importar seus dados, você estará pronto para criar recomendadores de domínio (para grupos de conjuntos de dados de domínio) ou recursos personalizados (para grupos de conjuntos de dados personalizados) para treinar um modelo em seus dados. Use esses recursos para gerar recomendações. Para obter mais informações, consulte Recomendadores de domínio no Amazon Personalize ou Recursos personalizados para treinamento e implantação de modelos Amazon Personalize.

Criação de um trabalho de importação de conjunto de dados (AWS CLI)

Importante

Por padrão, um trabalho de importação do conjunto de dados substitui todos os dados existentes no conjunto de dados que você importou em massa. Se você já importou dados em massa, pode acrescentar dados alterando o modo de importação do trabalho.

Para importar registros em massa usando o AWS CLI, crie um trabalho de importação de conjunto de dados usando o CreateDatasetImportJob comando. Se você já criou um trabalho de importação do conjunto de dados para um conjunto de dados, pode usar o parâmetro do modo de importação para especificar como adicionar os novos dados. Para obter mais informações sobre como atualizar dados em massa existentes, consulte Atualização de dados em conjuntos de dados após o treinamento.

Importar registros em massa (AWS CLI)
  1. Crie um trabalho de importação do conjunto de dados executando o seguinte comando. Forneça o Amazon Resource Name (ARN) para seu conjunto de dados e especifique o caminho para o bucket do Amazon S3 onde você armazenou os dados de treinamento. Use a sintaxe a seguir para o caminho:

    s3:/amzn-s3-demo-bucket/<folder path>/<CSV filename>

    Se seus CSV arquivos estiverem em uma pasta no bucket do Amazon S3 e você quiser fazer upload de vários CSV arquivos em um conjunto de dados com um trabalho de importação de conjunto de dados, você pode especificar o caminho para a pasta. O Amazon Personalize usa apenas os arquivos no primeiro nível da sua pasta, não usa nenhum dado em nenhuma subpasta. Use a sintaxe a seguir com uma / após o nome da pasta:

    s3:/amzn-s3-demo-bucket/<folder path>/

    Forneça o AWS Identity and Access Management (IAM) atribua o Amazon Resource Name (ARN) no qual você criouCriação de uma IAM função para o Amazon Personalize. O import-mode padrão é FULL. Para ter mais informações, consulte Atualização de dados em conjuntos de dados após o treinamento. Para obter mais informações sobre a operação, consulte CreateDatasetImportJob.

    aws personalize create-dataset-import-job \ --job-name dataset import job name \ --dataset-arn dataset arn \ --data-source dataLocation=s3://amzn-s3-demo-bucket/filename \ --role-arn roleArn \ --import-mode FULL

    O trabalho de importação do conjunto de dados ARN é exibido, conforme mostrado no exemplo a seguir.

    { "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/DatasetImportJobName" }
  2. Verifique o status usando o comando describe-dataset-import-job. Forneça o trabalho de importação do conjunto de dados ARN que foi retornado na etapa anterior. Para obter mais informações sobre a operação, consulte DescribeDatasetImportJob.

    aws personalize describe-dataset-import-job \ --dataset-import-job-arn dataset import job arn

    As propriedades do trabalho de importação do conjunto de dados, incluindo seu status, são exibidas. Inicialmente, os status shows como CREATEPENDING.

    { "datasetImportJob": { "jobName": "Dataset Import job name", "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/DatasetImportJobArn", "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/DatasetGroupName/INTERACTIONS", "dataSource": { "dataLocation": "s3://amzn-s3-demo-bucket/ratings.csv" }, "importMode": "FULL", "roleArn": "role-arn", "status": "CREATE PENDING", "creationDateTime": 1542392161.837, "lastUpdatedDateTime": 1542393013.377 } }

    A importação do conjunto de dados é concluída quando o status é exibido comoACTIVE. Depois de importar dados para um conjunto de dados do Amazon Personalize, você pode analisá-los, exportá-los para um bucket do Amazon S3, atualizá-los ou excluí-los excluindo o conjunto de dados.

    Depois de importar seus dados, você estará pronto para criar recomendadores de domínio (para grupos de conjuntos de dados de domínio) ou recursos personalizados (para grupos de conjuntos de dados personalizados) para treinar um modelo em seus dados. Use esses recursos para gerar recomendações. Para obter mais informações, consulte Recomendadores de domínio no Amazon Personalize ou Recursos personalizados para treinamento e implantação de modelos Amazon Personalize.

Criação de um trabalho de importação de conjunto de dados (AWS SDKs)

Importante

Por padrão, um trabalho de importação do conjunto de dados substitui todos os dados existentes no conjunto de dados que você importou em massa. Se você já importou dados em massa, pode acrescentar dados alterando o modo de importação do trabalho.

Para importar dados, crie um trabalho de importação do conjunto de dados com a operação CreateDatasetImportJob. O código a seguir mostra como criar um trabalho de importação do conjunto de dados.

Forneça o nome do trabalho, datasetArn defina o Amazon Resource Name (ARN) do seu conjunto de dados e defina o caminho dataLocation para o bucket do Amazon S3 onde você armazenou os dados de treinamento. Use a sintaxe a seguir para o caminho:

s3:/amzn-s3-demo-bucket/<folder path>/<CSV filename>.csv

Se seus CSV arquivos estiverem em uma pasta no bucket do Amazon S3 e você quiser fazer upload de vários CSV arquivos em um conjunto de dados com um trabalho de importação de conjunto de dados, você pode especificar o caminho para a pasta. O Amazon Personalize usa apenas os arquivos no primeiro nível da sua pasta, não usa nenhum dado em nenhuma subpasta. Use a sintaxe a seguir com uma / após o nome da pasta:

s3:/amzn-s3-demo-bucket/<folder path>/

Para oroleArn, especifique o AWS Identity and Access Management (IAM) função que dá ao Amazon Personalize permissões para acessar seu bucket do S3. Consulte Criação de uma IAM função para o Amazon Personalize. O importMode padrão é FULL. Isso substitui todos os dados em massa no conjunto de dados. Para acrescentar dados, defina-os como. INCREMENTAL Para obter mais informações sobre como atualizar dados em massa existentes, consulte Atualização de dados em conjuntos de dados após o treinamento.

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') response = personalize.create_dataset_import_job( jobName = 'YourImportJob', datasetArn = 'dataset_arn', dataSource = {'dataLocation':'s3://amzn-s3-demo-bucket/filename.csv'}, roleArn = 'role_arn', importMode = 'FULL' ) dsij_arn = response['datasetImportJobArn'] print ('Dataset Import Job arn: ' + dsij_arn) description = personalize.describe_dataset_import_job( datasetImportJobArn = dsij_arn)['datasetImportJob'] print('Name: ' + description['jobName']) print('ARN: ' + description['datasetImportJobArn']) print('Status: ' + description['status'])
SDK for Java 2.x
public static String createPersonalizeDatasetImportJob(PersonalizeClient personalizeClient, String jobName, String datasetArn, String s3BucketPath, String roleArn, ImportMode importMode) { long waitInMilliseconds = 60 * 1000; String status; String datasetImportJobArn; try { DataSource importDataSource = DataSource.builder() .dataLocation(s3BucketPath) .build(); CreateDatasetImportJobRequest createDatasetImportJobRequest = CreateDatasetImportJobRequest.builder() .datasetArn(datasetArn) .dataSource(importDataSource) .jobName(jobName) .roleArn(roleArn) .importMode(importMode) .build(); datasetImportJobArn = personalizeClient.createDatasetImportJob(createDatasetImportJobRequest) .datasetImportJobArn(); DescribeDatasetImportJobRequest describeDatasetImportJobRequest = DescribeDatasetImportJobRequest.builder() .datasetImportJobArn(datasetImportJobArn) .build(); long maxTime = Instant.now().getEpochSecond() + 3 * 60 * 60; while (Instant.now().getEpochSecond() < maxTime) { DatasetImportJob datasetImportJob = personalizeClient .describeDatasetImportJob(describeDatasetImportJobRequest) .datasetImportJob(); status = datasetImportJob.status(); System.out.println("Dataset import job status: " + status); if (status.equals("ACTIVE") || status.equals("CREATE FAILED")) { break; } try { Thread.sleep(waitInMilliseconds); } catch (InterruptedException e) { System.out.println(e.getMessage()); } } return datasetImportJobArn; } catch (PersonalizeException e) { System.out.println(e.awsErrorDetails().errorMessage()); } return ""; }
SDK for JavaScript v3
// Get service clients and commands using ES6 syntax. import { CreateDatasetImportJobCommand, PersonalizeClient } from "@aws-sdk/client-personalize"; // create personalizeClient const personalizeClient = new PersonalizeClient({ region: "REGION" }); // Set the dataset import job parameters. export const datasetImportJobParam = { datasetArn: 'DATASET_ARN', /* required */ dataSource: { dataLocation: 's3://amzn-s3-demo-bucket/<folderName>/<CSVfilename>.csv' /* required */ }, jobName: 'NAME', /* required */ roleArn: 'ROLE_ARN', /* required */ importMode: "FULL" /* optional, default is FULL */ }; export const run = async () => { try { const response = await personalizeClient.send(new CreateDatasetImportJobCommand(datasetImportJobParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

A resposta da operação DescribeDatasetImportJob inclui o status da operação.

Você deve esperar até que o status ACTIVE mude para antes de poder usar os dados para treinar um modelo.

A importação do conjunto de dados é concluída quando o status é exibido comoACTIVE. Depois de importar dados para um conjunto de dados do Amazon Personalize, você pode analisá-los, exportá-los para um bucket do Amazon S3, atualizá-los ou excluí-los excluindo o conjunto de dados.

Depois de importar seus dados, você estará pronto para criar recomendadores de domínio (para grupos de conjuntos de dados de domínio) ou recursos personalizados (para grupos de conjuntos de dados personalizados) para treinar um modelo em seus dados. Use esses recursos para gerar recomendações. Para obter mais informações, consulte Recomendadores de domínio no Amazon Personalize ou Recursos personalizados para treinamento e implantação de modelos Amazon Personalize.