Importar dados em massa para o Amazon Personalize com um trabalho de importação do 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á.

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

Depois de formatar seus dados de entrada (consulte Preparar os dados de treinamento para o Amazon Personalize) e concluir a Criar um conjunto de dados e um esquema, você poderá importar seus dados em massa com um trabalho de importação de conjunto de dados. Um trabalho de importação do conjunto de dados é uma ferramenta de importação em massa que preenche o conjunto com os 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ê já criou um trabalho de importação do conjunto de dados para outro conjunto, pode usar um novo trabalho de importação para adicionar ou substituir os dados em massa existentes. Para obter mais informações, consulte Atualizar os dados em conjuntos de dados após o treinamento.

Se você importar um item, usuário ou ação com a mesma ID de um registro que já está em seu conjunto de dados, o Amazon Personalize o substituirá pelo novo registro. Se você registrar dois eventos de interação de item ou interação de ação com exatamente o mesmo timestamp e propriedades idênticas, o Amazon Personalize manterá somente um dos eventos.

Depois que você importar seus dados, crie recomendadores de domínio (para grupos do conjunto de dados de domínio) ou recursos personalizados (para o grupo do conjunto de dados personalizado) para treinar um modelo com base em seus dados. Use esses recursos para gerar recomendações. Para ter mais informações, consulte Recomendadores de domínio no Amazon Personalize ou Recursos personalizados para treinamento e implantação de modelos do Amazon Personalize.

Modos de importação

Se você já criou um trabalho de importação para o conjunto de dados, pode configurar como o Amazon Personalize adiciona seus novos registros. Para fazer isso, especifique um modo de importação para seu trabalho de importação do 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.

Criar um trabalho de importação do 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 Criar um conjunto de dados e um esquema, 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 este é seu primeiro trabalho do conjunto de dados, escolha Importar dados do S3 para Origem da importação dos dados.

  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á tiver importado dados em massa, escolha como atualizar o conjunto de dados no Modo de importação. Escolha Substituir dados existentes ou Adicionar aos dados existentes. dados. Essa opção não aparecerá se este for seu primeiro trabalho no conjunto de dados. Para obter mais informações, consulte Atualizar os dados em conjuntos de dados após o treinamento.

  8. Em Origem da importação de dados, especifique onde seu arquivo de dados está armazenado no Amazon S3 para o Local dos dados. 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 Criar um perfil do IAM 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 Avaliar 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ê poderá analisá-los, exportá-los para um bucket do Amazon S3, atualizá-los ou excluí-los removendo o conjunto de dados.

    Depois que você importar seus dados, crie recomendadores de domínio (para grupos do conjunto de dados de domínio) ou recursos personalizados (para o grupo do conjunto de dados personalizado) para treinar um modelo com base em seus dados. Use esses recursos para gerar recomendações. Para ter mais informações, consulte Recomendadores de domínio no Amazon Personalize ou Recursos personalizados para treinamento e implantação de modelos do Amazon Personalize.

Criar um trabalho de importação do 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 Atualizar os 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 a função AWS Identity and Access Management (IAM) Amazon Resource Name (ARN) na qual você criouCriar um perfil do IAM para o Amazon Personalize. O import-mode padrão é FULL. Para ter mais informações, consulte Atualizar os 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ê poderá analisá-los, exportá-los para um bucket do Amazon S3, atualizá-los ou excluí-los removendo o conjunto de dados.

    Depois que você importar seus dados, crie recomendadores de domínio (para grupos do conjunto de dados de domínio) ou recursos personalizados (para o grupo do conjunto de dados personalizado) para treinar um modelo com base em seus dados. Use esses recursos para gerar recomendações. Para ter mais informações, consulte Recomendadores de domínio no Amazon Personalize ou Recursos personalizados para treinamento e implantação de modelos do Amazon Personalize.

Criar um trabalho de importação do 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 a função AWS Identity and Access Management (IAM) que concede permissões ao Amazon Personalize para acessar seu bucket do S3. Consulte Criar um perfil do IAM 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 Atualizar os 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ê poderá analisá-los, exportá-los para um bucket do Amazon S3, atualizá-los ou excluí-los removendo o conjunto de dados.

Depois que você importar seus dados, crie recomendadores de domínio (para grupos do conjunto de dados de domínio) ou recursos personalizados (para o grupo do conjunto de dados personalizado) para treinar um modelo com base em seus dados. Use esses recursos para gerar recomendações. Para ter mais informações, consulte Recomendadores de domínio no Amazon Personalize ou Recursos personalizados para treinamento e implantação de modelos do Amazon Personalize.