Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Excluir registros do seu grupo de atributos

Modo de foco
Excluir registros do seu grupo de atributos - SageMaker IA da Amazon

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á.

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á.

Você pode usar a API Amazon SageMaker Feature Store para excluir registros de seus grupos de recursos. Um grupo de atributos é um objeto que contém seus dados de machine learning (ML), em que as colunas de seus dados são descritas por atributos e seus dados estão contidos em registros. Um registro contém valores para atributos associados a um identificador de registro específico.

Há duas configurações de armazenamento para seus grupos de atributos: o armazenamento on-line e o armazenamento offline. O armazenamento on-line mantém apenas o registro com a hora do evento mais recente e normalmente é usado para pesquisas em tempo real para inferência de ML. O armazenamento offline mantém todos os registros e atua como um banco de dados histórico e normalmente é usado para exploração de atributos, treinamento de ML e inferência em lote.

Para obter mais informações sobre os conceitos do Feature Store, consulte Diagramas de ingestão.

Há duas maneiras de excluir registros de seus grupos de atributos, e o comportamento é diferente dependendo da configuração de armazenamento. Nos tópicos a seguir, descreveremos como fazer exclusões de registros de forma temporária e definitiva dos armazenamentos on-line e offline e forneceremos exemplos.

Excluir registros do armazenamento on-line

Você pode excluir um registro do armazenamento on-line de forma temporária ou definitiva com a API DeleteRecord usando o parâmetro de solicitação DeletionMode para especificar SoftDelete (padrão) ou HardDelete. Para obter mais informações sobre a DeleteRecord API, consulte DeleteRecorda Amazon SageMaker API Reference.

Com o armazenamento on-line:

  • Quando você faz uma exclusão reversível (padrão), o registro não pode mais ser recuperado por GetRecord ou BatchGetRecord e os valores da coluna do recurso são definidos comonull, exceto os valores do EventTime recurso RecordIdentifer e.

  • Quando você exclui irreversivelmente, o registro é completamente removido do armazenamento on-line.

Em ambos os casos, o Feature Store anexa o marcador de registro excluído ao OfflineStore. O marcador de registro excluído é um registro com o mesmo RecordIdentifer que o original, mas com valor is_deleted definido como True, EventTime definido para a entrada de exclusão EventTime e outros valores de atributo definidos como null.

Observe que o EventTime especificado em DeleteRecord deve ser definido posteriormente ao EventTime do registro existente no OnlineStore para esse mesmo RecordIdentifer. Caso contrário, a exclusão não ocorrerá:

  • Para SoftDelete, o registro existente (não excluído) permanece no OnlineStore, embora o marcador de exclusão de registro ainda esteja gravado no OfflineStore.

  • HardDelete retorna o EventTime: 400 ValidationException para indicar que a operação de exclusão falhou. Nenhum marcador de exclusão de registro é gravado no OfflineStore.

Os exemplos a seguir usam a operação delete_record do SDK para Python (Boto3) para excluir um registro de um grupo de atributos. Para excluir um registro de um grupo de atributos, você precisará:

  • Nome do grupo de atributos (feature-group-name)

  • Registro do valor do identificador como uma string (record-identifier-value)

  • Hora do evento de exclusão (deletion-event-time)

    O horário do evento de exclusão deve ser posterior ao horário do evento do registro que você deseja excluir.

Exemplo de exclusão temporária no armazenamento on-line

Para exclusões temporárias, você precisará usar a API DeleteRecord e poderá usar o padrão DeletionMode ou definir o DeletionMode como SoftDelete.

import boto3 client = boto3.client('sagemaker-featurestore-runtime') client.delete_record( FeatureGroupName='feature-group-name', RecordIdentifierValueAsString='record-identifier-value', EventTime='deletion-event-time', TargetStores=[ 'OnlineStore', ], DeletionMode='SoftDelete' )

Exemplo de exclusão irreversível do armazenamento on-line

Para exclusão irreversível, você precisará usar a API DeleteRecord e definir DeletionMode como HardDelete.

import boto3 client = boto3.client('sagemaker-featurestore-runtime') client.delete_record( FeatureGroupName='feature-group-name', RecordIdentifierValueAsString='record-identifier-value', EventTime='deletion-event-timestamp', TargetStores=[ 'OnlineStore', ], DeletionMode='HardDelete' )

Excluir registros do armazenamento offline

Com a Amazon SageMaker Feature Store, você pode excluir temporariamente ou não um registro do formato de tabela OfflineStore Iceberg. Com o formato de tabela Iceberg OfflineStore:

  • Quando você exclui temporariamente um registro , a versão mais recente do arquivo da tabela Iceberg não conterá o registro, mas as versões anteriores ainda conterão o registro e poderão ser acessadas usando a viagem no tempo. Para obter informações sobre viagem no tempo, consulte Consultar dados da tabela Iceberg e realizar viagens no tempo no guia do usuário do Athena.

  • Ao excluir um registro de forma definitiva, você remove versões anteriores da tabela Iceberg que contêm o registro. Nesse caso, você deve especificar quais versões da tabela Iceberg você deseja excluir.

Obter o nome da sua tabela Iceberg

Para fazer exclusões temporárias e definitivas da sua tabela Iceberg OfflineStore, você precisará obter o nome da tabela Iceberg, iceberg-table-name. As instruções a seguir pressupõem que você já tenha usado o Feature Store para criar um grupo de atributos usando a configuração de armazenamento offline com o formato de tabela Iceberg, com DisableGlueTableCreation = False (padrão). Para obter mais informações sobre como criar um grupo de atributos, consulte Comece a usar a Amazon SageMaker Feature Store.

Para obter seu iceberg-table-name, use a API DescribeFeatureGroup para obter DataCatalogConfig. Ela contém os metadados de tabela do Glue, que servem como catálogo de dados para o OfflineStore. A TableName dentro da DataCatalogConfig é seu iceberg-table-name.

Exemplo de exclusão temporária e definitiva do armazenamento offline do Amazon Athena

As instruções a seguir usam o Amazon Athena para fazer exclusões temporárias e, em seguida, exclusões definitivas de um registro da tabela Iceberg OfflineStore. Isso pressupõe que o registro que você pretende excluir em seu OfflineStore é um marcador de registro excluído. Para obter informações sobre o marcador de registro excluído em seu OfflineStore, consulte Excluir registros do armazenamento on-line.

  1. Obtenha o nome da sua tabela Iceberg, iceberg-table-name. Para obter informações sobre como obter o nome da tabela Iceberg, consulte Obter o nome da sua tabela Iceberg.

  2. Execute o comando DELETE para excluir temporariamente os registros no OfflineStore, de forma que a versão mais recente (ou snapshot) da tabela Iceberg não contenha os registros. O exemplo a seguir exclui os registros quando is_deleted é 'True' e as versões anteriores de horário do evento desses registros. Você pode adicionar mais condições com base em outros atributos para restringir a exclusão. Para obter mais informações sobre como usar oDELETE, consulte o DELETE no Guia do usuário do Athena.

    DELETE FROM iceberg-table-name WHERE record-id-feature-name IS IN ( SELECT record-id-feature-name FROM iceberg-table-name WHERE is_deleted = 'True')

    Os registros excluídos de forma reversível ainda podem ser visualizados nas versões anteriores do arquivo por meio da viagem no tempo. Para obter informações sobre como realizar a viagem no tempo, consulte Consultar dados da tabela Iceberg e realizar viagens no tempo no Guia do usuário do Athena.

  3. Remova o registro das versões anteriores de suas tabelas Iceberg para excluir definitivamente o registro do OfflineStore:

    1. Execute o comando OPTIMIZE para regravar os arquivos de dados em um layout mais otimizado com base no tamanho e no número de arquivos de exclusão associados. Para obter mais informações sobre como otimizar tabelas Iceberg e a sintaxe, consulte Otimizar tabelas Iceberg no guia do usuário do Athena.

      OPTIMIZE iceberg-table-name REWRITE DATA USING BIN_PACK
    2. (Opcional, precisa ser executado apenas uma vez) Execute o comando ALTER TABLE para alterar os valores do conjunto de tabelas Iceberg e defina quando as versões anteriores do arquivo devem ser excluídas definitivamente de acordo com suas especificações. Isso pode ser feito atribuindo valores a propriedades vacuum_min_snapshots_to_keep e vacuum_max_snapshot_age_seconds. Para obter mais informações sobre como alterar as propriedades do conjunto de tabelas Iceberg, consulte ALTERAR PROPRIEDADES DO CONJUNTO DE TABELAS no guia do usuário do Athena. Para obter mais informações sobre os pares de valores-chave das propriedades das tabelas Iceberg, consulte Prioridades da tabelas no guia do usuário do Athena.

      ALTER TABLE iceberg-table-name SET TBLPROPERTIES ( 'vacuum_min_snapshots_to_keep'='your-specified-value', 'vacuum_max_snapshot_age_seconds'='your-specified-value' )
    3. Execute o comando VACUUM para remover arquivos de dados que não são mais necessários para suas tabelas Iceberg, não referenciados pela versão atual. O comando VACUUM deve ser executado depois que o registro excluído não for mais referenciado no snapshot atual. Por exemplo, vacuum_max_snapshot_age_seconds após a exclusão. Para obter mais informações sobre VACUUM com o Athena e a sintaxe, consulte VACUUM.

      VACUUM iceberg-table-name

Exemplo de exclusão temporária e definitiva do armazenamento offline do Apache Spark

Para excluir temporariamente e, depois, definitivamente um registro da tabela Iceberg OfflineStore usando o Apache Spark, siga as mesmas instruções do Exemplo de exclusão temporária e definitiva do armazenamento offline do Amazon Athena acima, mas usando os procedimentos do Spark. Para obter uma lista completa de procedimentos, consulte Procedimentos do Spark na documentação do Apache Iceberg.

  • Ao fazer uma exclusão temporária do OfflineStore: em vez de usar o comando DELETE no Athena, use o comando DELETE FROM no Apache Spark.

  • Para remover o registro das versões anteriores das suas tabelas Iceberg para excluir definitivamente o registro do OfflineStore:

    • Ao alterar a configuração da tabela Iceberg: em vez de usar o comando ALTER TABLE do Athena, use o procedimento expire_snapshots.

    • Para remover arquivos de dados desnecessários de suas tabelas do Iceberg: em vez de usar o comando VACUUM no Athena, use o procedimento remove_orphan_files.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.