Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Hapus catatan dari grup fitur
Anda dapat menggunakan Amazon SageMaker Feature Store API untuk menghapus catatan dari grup fitur Anda. Grup fitur adalah objek yang berisi data pembelajaran mesin (ML) Anda, di mana kolom data Anda dijelaskan oleh fitur dan data Anda terkandung dalam catatan. Catatan berisi nilai untuk fitur yang terkait dengan pengenal catatan tertentu.
Ada dua konfigurasi penyimpanan untuk grup fitur Anda: toko online dan toko offline. Toko online hanya menyimpan catatan dengan waktu acara terbaru dan biasanya digunakan untuk pencarian real-time untuk inferensi ML. Toko offline menyimpan semua catatan dan bertindak sebagai database historis dan biasanya digunakan untuk eksplorasi fitur, pelatihan ML, dan inferensi batch.
Untuk informasi selengkapnya tentang konsep Toko Fitur, lihatDiagram penyerapan.
Ada dua cara untuk menghapus catatan dari grup fitur Anda, dan perilakunya berbeda tergantung pada konfigurasi penyimpanan. Dalam topik berikut kami akan menjelaskan cara menghapus catatan lunak dan keras dari toko online dan offline dan memberikan contoh.
Hapus catatan dari toko online
Anda dapat menghapus catatan dengan lembut atau keras dari toko online menggunakan DeleteRecord API dengan menggunakan parameter DeletionMode permintaan untuk menentukan SoftDelete (default) atauHardDelete. Untuk informasi selengkapnya, lihat DeleteRecord di DeleteRecordReferensi API Amazon DocumentDB SageMaker .
Dengan toko online:
-
Saat Anda menghapus lunak (default), catatan tidak lagi dapat diambil oleh GetRecord atau BatchGetRecord dan nilai kolom fitur disetel ke
null, kecuali untuk nilaiRecordIdentiferdanEventTimefitur. -
Ketika Anda sulit menghapus, catatan sepenuhnya dihapus dari toko online.
Dalam kedua kasus, Feature Store menambahkan penanda rekaman yang dihapus ke file. OfflineStore Penanda rekaman yang dihapus adalah catatan yang RecordIdentifer sama dengan aslinya, tetapi dengan is_deleted nilai yang disetel keTrue, EventTime disetel ke input hapusEventTime, dan nilai fitur lainnya yang disetel kenull.
Perhatikan bahwa yang EventTime ditentukan DeleteRecord harus ditetapkan lebih lambat EventTime dari catatan yang ada di OnlineStore untuk yang samaRecordIdentifer. Jika tidak, penghapusan tidak terjadi:
-
Untuk
SoftDelete, catatan yang ada (tidak dihapus) tetap ada diOnlineStore, meskipun penanda catatan hapus masih ditulis ke fileOfflineStore. -
HardDeletereturnEventTime:400 ValidationExceptionuntuk menunjukkan bahwa operasi penghapusan gagal. Tidak ada penanda catatan hapus yang ditulis ke fileOfflineStore.
Contoh berikut menggunakan operasi SDK for Python (Boto3) untuk delete_record
-
Nama grup fitur (
)feature-group-name -
Catat nilai pengenal sebagai string ()
record-identifier-value -
Waktu acara penghapusan ()
deletion-event-timeWaktu acara penghapusan harus lebih lambat dari waktu acara rekaman yang ingin Anda hapus.
Contoh penghapusan lunak toko online
Untuk penghapusan lunak, Anda perlu menggunakan DeleteRecord API dan dapat menggunakan default DeletionMode atau mengatur DeletionMode keSoftDelete.
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' )
Contoh hard delete toko online
Untuk hard delete, Anda perlu menggunakan DeleteRecord API dan atur DeletionMode keHardDelete.
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' )
Hapus catatan dari toko offline
Dengan Amazon SageMaker Feature Store Anda dapat menghapus catatan dengan lembut dan keras dari format tabel OfflineStore Iceberg. Dengan format tabel OfflineStore Iceberg:
-
Ketika Anda menghapus catatan versi terbaru dari file tabel Iceberg tidak akan berisi catatan, tetapi versi sebelumnya masih akan berisi catatan dan dapat diakses menggunakan perjalanan waktu. Untuk informasi tentang perjalanan waktu, lihat Menanyakan data tabel Gunung Es dan melakukan perjalanan waktu di panduan pengguna Athena.
-
Saat Anda menghapus catatan dengan keras, Anda menghapus versi sebelumnya dari tabel Iceberg yang berisi catatan. Dalam hal ini Anda harus menentukan versi tabel Iceberg yang ingin Anda hapus.
Dapatkan nama tabel Iceberg Anda
Untuk menghapus lunak dan keras dari tabel OfflineStore Iceberg Anda, Anda harus mendapatkan nama tabel Iceberg Anda,. Instruksi berikut mengasumsikan Anda telah menggunakan Feature Store untuk membuat grup fitur menggunakan konfigurasi penyimpanan toko offline menggunakan format tabel Iceberg, dengan iceberg-table-nameDisableGlueTableCreation = False (default). Untuk informasi selengkapnya tentang cara membuat sebuah fitur, silakan lihat Memulai dengan Amazon SageMaker Feature Store.
Untuk mendapatkan Anda, gunakan iceberg-table-nameDescribeFeatureGroupAPI untuk mendapatkan DataCatalogConfig. Ini berisi metadata tabel Glue yang berfungsi sebagai katalog data untuk. OfflineStore OU TableName berada di dalam OU .
Amazon Athena toko offline contoh penghapusan lunak dan keras
Instruksi berikut menggunakan Amazon Athena untuk menghapus lunak kemudian menghapus catatan dari tabel OfflineStore Iceberg. Ini mengasumsikan bahwa catatan yang ingin Anda hapus OfflineStore adalah penanda catatan yang dihapus. Untuk informasi tentang penanda rekaman yang dihapus di AndaOfflineStore, lihatHapus catatan dari toko online.
-
Dapatkan nama tabel Iceberg Anda,.
Untuk informasi tentang cara mendapatkan nama tabel Gunung Es Anda, lihat. Dapatkan nama tabel Iceberg Andaiceberg-table-name -
Jalankan
DELETEperintah untuk menghapus catatan lunak padaOfflineStore, sehingga versi terbaru (atau snapshot) dari tabel Iceberg tidak akan berisi catatan. Contoh berikut menghapus catatan di manais_deleted'True'dan versi waktu peristiwa sebelumnya dari catatan tersebut. Anda dapat menambahkan kondisi tambahan berdasarkan fitur lain untuk membatasi penghapusan. Untuk informasi selengkapnya tentang cara menggunakan Athena, lihatDELETEPanduan Pengguna Amazon AthenaDELETE.DELETE FROMiceberg-table-nameWHERErecord-id-feature-nameIS IN ( SELECTrecord-id-feature-nameFROMiceberg-table-nameWHERE is_deleted = 'True')Catatan yang dihapus lunak masih dapat dilihat pada versi file sebelumnya dengan melakukan perjalanan waktu. Untuk informasi tentang melakukan perjalanan waktu, lihat Menanyakan data tabel Gunung Es dan melakukan perjalanan waktu di panduan pengguna Athena.
-
Hapus catatan dari versi sebelumnya dari tabel Iceberg Anda untuk menghapus catatan dari:
OfflineStore-
Jalankan
OPTIMIZEperintah untuk menulis ulang file data ke dalam tata letak yang lebih optimal, berdasarkan ukuran dan jumlah file hapus terkait. Untuk informasi selengkapnya tentang mengoptimalkan tabel Iceberg dan sintaksnya, lihat Mengoptimalkan tabel Gunung Es di panduan pengguna Athena.OPTIMIZEiceberg-table-nameREWRITE DATA USING BIN_PACK -
(Opsional, hanya perlu dijalankan sekali) Jalankan
ALTER TABLEperintah untuk mengubah nilai set tabel Iceberg, dan atur kapan versi file sebelumnya harus dihapus dengan keras sesuai dengan spesifikasi Anda. Ini dapat dilakukan dengan menetapkan nilai kevacuum_min_snapshots_to_keepdanvacuum_max_snapshot_age_secondsproperti. Untuk informasi selengkapnya tentang mengubah properti kumpulan tabel Iceberg, lihat MENGUBAH PROPERTI SET TABEL di panduan pengguna Athena. Untuk informasi selengkapnya tentang pasangan nilai kunci properti tabel Iceberg, lihat Properti tabel di panduan pengguna Athena.ALTER TABLEiceberg-table-nameSET TBLPROPERTIES ( 'vacuum_min_snapshots_to_keep'='your-specified-value', 'vacuum_max_snapshot_age_seconds'='your-specified-value' ) -
Jalankan
VACUUMperintah untuk menghapus file data yang tidak lagi diperlukan untuk tabel Iceberg Anda, tidak direferensikan oleh versi saat ini.VACUUMPerintah harus dijalankan setelah catatan yang dihapus tidak lagi direferensikan dalam snapshot saat ini. Misalnya,vacuum_max_snapshot_age_secondssetelah penghapusan. Untuk informasi lebih lanjut tentangVACUUMAthena dan sintaksnya, lihat.VACUUMVACUUMiceberg-table-name
-
Contoh penghapusan lunak dan keras toko offline Apache Spark
Untuk menghapus catatan lunak dan kemudian keras dari tabel OfflineStore Iceberg menggunakan Apache Spark, Anda dapat mengikuti instruksi yang sama seperti di Amazon Athena toko offline contoh penghapusan lunak dan keras atas, tetapi menggunakan prosedur Spark. Untuk daftar lengkap prosedur, lihat Prosedur Spark
-
Saat menghapus lunak dari
OfflineStore: alih-alih menggunakan perintah di Athena, gunakanDELETEperintah di ApacheDELETE FROMSpark. -
Untuk menghapus catatan dari versi sebelumnya dari tabel Iceberg Anda untuk menghapus catatan dari:
OfflineStore-
Saat mengubah konfigurasi tabel Iceberg Anda: alih-alih menggunakan
ALTER TABLEperintah dari Athena, gunakan prosedur.expire_snapshots -
Untuk menghapus file data yang tidak lagi diperlukan dari tabel Iceberg Anda: alih-alih menggunakan
VACUUMperintah di Athena, gunakan prosedur.remove_orphan_files
-