

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Löscht einen Datensatz aus einer Feature-Gruppe.
<a name="feature-store-delete-records"></a>

Sie können die Amazon SageMaker Feature Store-API verwenden, um Datensätze aus Ihren Feature-Gruppen zu löschen. Eine Feature-Gruppe ist ein Objekt, das Ihre maschinellen Lerndaten (ML) enthält, wobei die Spalten Ihrer Daten durch Funktionen beschrieben werden und Ihre Daten in Datensätzen enthalten sind. Ein Datensatz enthält Werte für Features, die einer bestimmten Datensatz-ID zugeordnet sind. 

Es gibt zwei Speicherkonfigurationen für Ihre Featuregruppen: Online-Speicher und Offline-Speicher. Der Online-Speicher speichert nur den Datensatz mit dem letzten Zeitpunkt des Ereignisses und wird in der Regel für die Echtzeitsuche nach ML-Inferenzen verwendet. Der Offline-Speicher speichert alle Datensätze und dient als historische Datenbank. Er wird in der Regel für die Erkundung von Merkmalen, das ML-Training und die Batch-Inferenz verwendet.

Weitere Informationen zu Feature-Store-Konzepten finden Sie unter [Verschluckungsdiagramme](feature-store-concepts.md#feature-store-concepts-ingestion).

Es gibt zwei Möglichkeiten, Datensätze aus Ihren Feature-Gruppen zu löschen, und das Verhalten ist je nach Speicherkonfiguration unterschiedlich. In den folgenden Themen beschreiben wir, wie Sie Datensätze aus den Online- und Offline-Speichern automatisch und dauerhaft löschen können, und geben Beispiele.

**Topics**
+ [Löschen Sie Datensätze aus dem Online-Speicher](#feature-store-delete-records-online-store)
+ [Löschen Sie Datensätze aus dem Offline-Speicher](#feature-store-delete-records-offline-store)

## Löschen Sie Datensätze aus dem Online-Speicher
<a name="feature-store-delete-records-online-store"></a>

Sie können mithilfe der `DeleteRecord`-API einen Datensatz aus dem Online-Speicher entweder automatisch oder dauerhaft löschen, indem Sie mit dem `DeletionMode`-Anforderungsparameter angeben `SoftDelete` (Standard) oder `HardDelete`. Weitere Informationen zur `DeleteRecord` API finden Sie [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_DeleteRecord.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_DeleteRecord.html)in der Amazon SageMaker API-Referenz.

Mit dem Online-Speicher:
+ Beim automatischen Löschen (Standard) kann der Datensatz nicht mehr mit GetRecord oder abgerufen werden, BatchGetRecord und die Werte der Feature-Spalte sind auf gesetzt`null`, mit Ausnahme der `EventTime` Feature-Werte `RecordIdentifer` und. 
+ Beim endgültigen Löschen wird der Datensatz vollständig aus dem Online-Speicher entfernt. 

In beiden Fällen hängt Feature Store die Markierung für gelöschte Datensätze an die `OfflineStore` an. Bei der Markierung für gelöschte Datensätze handelt es sich um einen Datensatz, der dem Original entspricht `RecordIdentifer`, dessen `is_deleted` Wert jedoch auf `True` die Löscheingabe `EventTime` auf `EventTime` gesetzt ist und andere Feature-Werte auf `null` eingestellt sind.

Beachten Sie, dass der `EventTime` in `DeleteRecord`angegebene Wert später gesetzt werden sollte als der `EventTime` des vorhandenen Datensatzes `OnlineStore` für denselben Datensatz `RecordIdentifer`. Ist dies nicht der Fall, erfolgt das Löschen nicht:
+ Denn `SoftDelete` der vorhandene (nicht gelöschte) Datensatz verbleibt in der `OnlineStore`, obwohl die Markierung zum Löschen von Datensätzen immer noch in den `OfflineStore` geschrieben wird. 
+ `HardDelete` gibt `EventTime`: `400 ValidationException` zurück, um anzuzeigen, dass der Löschvorgang fehlgeschlagen ist. Es wurde keine Markierung zum Löschen eines Datensatzes in den `OfflineStore` geschrieben.

In den folgenden Beispielen wird der [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-featurestore-runtime/client/delete_record.html#delete-record](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-featurestore-runtime/client/delete_record.html#delete-record) Vorgang SDK for Python (Boto3) verwendet, um einen Datensatz aus einer Feature-Gruppe zu löschen. Zum Löschen eines Datensatzes aus einer Feature-Gruppe benötigen Sie:
+ Name der Funktionsgruppe (`feature-group-name`)
+ Bezeichnerwert als Zeichenfolge (`record-identifier-value`) aufzeichnen
+ Uhrzeit des Löschereignisses (`deletion-event-time`)

  Die Zeit des Löschvorgangs sollte nach der Ereigniszeit des Datensatzes liegen, den Sie löschen möchten.

### Beispiel für ein Soft-Delete im Online-Speicher
<a name="feature-store-delete-records-online-store-soft-delete"></a>

Für das automatische Löschen müssen Sie die `DeleteRecord` API verwenden und können die Standardeinstellung verwenden `DeletionMode` oder die Option `DeletionMode` auf `SoftDelete` setzen. 

```
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'
)
```

### Beispiel für ein hartes Löschen im Online-Speicher
<a name="feature-store-delete-records-online-store-hard-delete"></a>

Für das endgültige Löschen müssen Sie die `DeleteRecord` API verwenden und den Wert `DeletionMode` auf `HardDelete` setzen.

```
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'
)
```

## Löschen Sie Datensätze aus dem Offline-Speicher
<a name="feature-store-delete-records-offline-store"></a>

Mit Amazon SageMaker Feature Store können Sie einen Datensatz aus dem `OfflineStore` Iceberg-Tabellenformat sowohl weich als auch dauerhaft löschen. Mit dem `OfflineStore` Eisberg-Tabellenformat: 
+ Wenn Sie einen Datensatz im Vorhinein löschen, enthält die neueste Version der Eisberg-Tabellendatei den Datensatz nicht. Frühere Versionen enthalten den Datensatz jedoch weiterhin und Sie können mithilfe von Zeitreisen darauf zugreifen. Informationen zu Zeitreisen finden Sie unter [Abfragen von Eisberg-Tabellendaten und Durchführen von Zeitreisen](https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg-table-data.html) im Athena-Benutzerhandbuch.
+ Wenn Sie einen Datensatz dauerhaft löschen, entfernen Sie damit frühere Versionen der Eisberg-Tabelle, die den Datensatz enthalten. In diesem Fall sollten Sie angeben, welche Versionen der Eisberg-Tabelle Sie löschen möchten.

### Besorgen Sie sich den Namen Ihrer Eisberg-Tabelle
<a name="feature-store-delete-records-offline-store-get-iceberg-table-name"></a>

Um aus Ihrer `OfflineStore` Eisberg-Tabelle „Soft“ und „Hard“ zu löschen, benötigen Sie den Namen Ihrer Eisberg-Tabelle, `iceberg-table-name`. In den folgenden Anweisungen wird davon ausgegangen, dass Sie Feature Store bereits verwendet haben, um eine Feature-Gruppe mithilfe der Offline-Speicherkonfiguration im Eisberg-Tabellenformat mit `DisableGlueTableCreation = False` (Standard) zu erstellen. Weitere Informationen zum Erstellen eines Features finden Sie unter [Erste Schritte mit Amazon SageMaker Feature Store](feature-store-getting-started.md).

Um Ihre `iceberg-table-name` zu erhalten, verwenden Sie die [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html.title](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html.title) API, um sie abzurufen [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataCatalogConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataCatalogConfig.html). Die Metadaten der Glue-Tabelle, die als Datenkatalog für den `OfflineStore` dient. Die `TableName`-Organisationseinheit befindet sich innerhalb der `DataCatalogConfig` `iceberg-table-name`Organisationseinheit.

### Beispiel für weiches und hartes Löschen im Amazon Athena Offline-Speicher
<a name="feature-store-delete-records-offline-store-athena"></a>

In den folgenden Anweisungen wird Amazon Athena verwendet, um einen Datensatz aus der `OfflineStore` Eisberg-Tabelle sanft und anschließend dauerhaft zu löschen. Dabei wird davon ausgegangen, dass es sich bei dem Datensatz, den Sie in Ihrer Datenbank löschen möchten, um einen gelöschten Datensatz `OfflineStore` handelt. Informationen zur Markierung für gelöschte Datensätze in Ihrem `OfflineStore` finden Sie unter [Löschen Sie Datensätze aus dem Online-Speicher](#feature-store-delete-records-online-store). 

1. Besorgen Sie sich den Namen Ihrer Eisberg-Tabelle, `iceberg-table-name`. Informationen darüber, wie Sie Ihren Eisberg-Tabellennamen ermitteln können, finden Sie unter [Besorgen Sie sich den Namen Ihrer Eisberg-Tabelle](#feature-store-delete-records-offline-store-get-iceberg-table-name). 

1. Führen Sie den `DELETE` Befehl zum automatischen Löschen der Datensätze auf der `OfflineStore` aus, sodass die neueste Version (oder der aktuelle Snapshot) der Eisberg-Tabelle die Datensätze nicht enthält. Im folgenden Beispiel werden die Datensätze, in denen sie `is_deleted` `'True'` sich befinden, und die vorherigen Versionen dieser Datensätze gelöscht. Sie können zusätzliche Bedingungen hinzufügen, die auf anderen Funktionen basieren, um das Löschen einzuschränken. Weitere Informationen zur Verwendung von `DELETE` Athena finden Sie im `DELETE` Amazon Athena-Benutzerhandbuch.

   ```
   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')
   ```

   Die vorübergehend gelöschten Datensätze sind in früheren Dateiversionen weiterhin sichtbar, indem Zeitreisen durchgeführt werden. Informationen zur Durchführung von Zeitreisen finden Sie unter [Abfragen von Eisberg-Tabellendaten und Durchführen von Zeitreisen](https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg-table-data.html) im Athena-Benutzerhandbuch.

1. Entfernen Sie den Datensatz aus früheren Versionen Ihrer Eisberg-Tabellen, um den Datensatz dauerhaft zu löschen aus `OfflineStore`:

   1. Die `OPTIMIZE`-Verdichtungsaktion schreibt Datendateien basierend auf ihrer Größe und Anzahl der zugehörigen Löschdateien in ein optimierteres Layout um. Weitere Informationen zur Optimierung von Eisberg-Tabellen und der Syntax finden Sie unter [Optimieren von Eisberg-Tabellen](https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg-data-optimization.html) im Athena-Benutzerhandbuch. 

      ```
      OPTIMIZE iceberg-table-name REWRITE DATA USING BIN_PACK
      ```

   1. (Optional, muss nur einmal ausgeführt werden) Führen Sie den `ALTER TABLE` Befehl aus, um die Werte der Eisberg-Tabelle zu ändern und festzulegen, wann frühere Dateiversionen gemäß Ihren Angaben dauerhaft gelöscht werden sollen. Dies kann durch Zuweisen von Werten `vacuum_min_snapshots_to_keep` und `vacuum_max_snapshot_age_seconds` Eigenschaften erreicht werden. Weitere Informationen zum Ändern der Eigenschaften Ihres Eisberg-Tabellensatzes finden Sie unter [ALTER TABLE SET PROPERTIES](https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg-managing-tables.html#querying-iceberg-alter-table-set-properties) im Athena-Benutzerhandbuch. Weitere Informationen zu Schlüssel-Wert-Paaren für Eisberg-Tabelleneigenschaften finden Sie unter [Tabelleneigenschaften](https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg-creating-tables.html#querying-iceberg-table-properties) im Athena-Benutzerhandbuch. 

      ```
      ALTER TABLE iceberg-table-name SET TBLPROPERTIES (
        'vacuum_min_snapshots_to_keep'='your-specified-value',
        'vacuum_max_snapshot_age_seconds'='your-specified-value'
      )
      ```

   1. Führen Sie den `VACUUM` Befehl aus, um nicht mehr benötigte Datendateien für Ihre Eisberg-Tabellen zu entfernen, auf die in der aktuellen Version nicht verwiesen wird. Der `VACUUM` Befehl sollte ausgeführt werden, nachdem der gelöschte Datensatz im aktuellen Snapshot nicht mehr referenziert wird. Zum Beispiel `vacuum_max_snapshot_age_seconds` nach dem Löschen. Weitere Informationen zu `VACUUM` Athena und der Syntax finden Sie unter [https://docs.aws.amazon.com/athena/latest/ug/vacuum-statement.html](https://docs.aws.amazon.com/athena/latest/ug/vacuum-statement.html).

      ```
      VACUUM iceberg-table-name
      ```

### Beispiel für Soft- und Harddelete im Apache Spark-Offline-Speicher
<a name="feature-store-delete-records-offline-store-spark"></a>

Um mit Apache Spark einen Datensatz aus der `OfflineStore` Eisberg-Tabelle sanft und dann dauerhaft zu löschen, können Sie die gleichen Anweisungen wie [Beispiel für weiches und hartes Löschen im Amazon Athena Offline-Speicher](#feature-store-delete-records-offline-store-athena) oben befolgen, jedoch Spark-Verfahren verwenden. Eine vollständige Liste der Verfahren finden Sie unter [Spark-Prozeduren](https://iceberg.apache.org/docs/1.3.1/spark-procedures/) in der Apache-Iceberg-Dokumentation. 
+ Verwenden Sie beim Soft-Löschen aus dem `OfflineStore`: anstatt den `DELETE` Befehl in Athena zu verwenden, den [https://iceberg.apache.org/docs/latest/spark-writes/#delete-from](https://iceberg.apache.org/docs/latest/spark-writes/#delete-from) Befehl in Apache Spark.
+ Um den Datensatz aus früheren Versionen Ihrer Eisberg-Tabellen zu entfernen, um den Datensatz dauerhaft aus `OfflineStore` zu löschen:
  + Wenn Sie Ihre Eisberg-Tabellenkonfiguration ändern: Verwenden Sie das Verfahren, anstatt den `ALTER TABLE` Befehl von Athena zu verwenden [https://iceberg.apache.org/docs/1.3.1/spark-procedures/#expire_snapshots](https://iceberg.apache.org/docs/1.3.1/spark-procedures/#expire_snapshots).
  + Um nicht mehr benötigte Datendateien aus Ihren Eisberg-Tabellen zu entfernen: Anstatt den `VACUUM` Befehl in Athena zu verwenden, verwenden Sie das [https://iceberg.apache.org/docs/1.3.1/spark-procedures/#remove_orphan_files](https://iceberg.apache.org/docs/1.3.1/spark-procedures/#remove_orphan_files) Verfahren.