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 konsumsi.
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 lunak atau keras dari toko online menggunakan DeleteRecord
API dengan menggunakan parameter DeletionMode
permintaan untuk menentukan SoftDelete
(default) atauHardDelete
. Untuk informasi lebih lanjut tentang DeleteRecord
API, lihat DeleteRecord
di SageMaker API Referensi Amazon.
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 nilaiRecordIdentifer
danEventTime
fitur. -
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
. -
HardDelete
returnEventTime
:400 ValidationException
untuk menunjukkan bahwa operasi penghapusan gagal. Tidak ada penanda catatan hapus yang ditulis ke fileOfflineStore
.
Contoh berikut menggunakan delete_record
-
Nama grup fitur (
)feature-group-name
-
Catat nilai pengenal sebagai string ()
record-identifier-value
-
Waktu acara penghapusan ()
deletion-event-time
Waktu acara penghapusan harus lebih lambat dari waktu acara rekaman yang ingin Anda hapus.
Contoh penghapusan lunak toko online
Untuk soft delete Anda akan 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 akan perlu menggunakan DeleteRecord
API dan mengatur 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.
-
Ketika Anda sulit menghapus catatan 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-name
DisableGlueTableCreation = False
(default). Untuk informasi selengkapnya tentang membuat grup fitur, lihatMemulai dengan Amazon SageMaker Feature Store.
Untuk mendapatkan Anda
, gunakan iceberg-table-name
DescribeFeatureGroup
APIuntuk mendapatkan DataCatalogConfig
. Ini berisi metadata tabel Glue yang berfungsi sebagai katalog data untuk. OfflineStore
Yang di TableName
dalamnya DataCatalogConfig
adalah milikmu
.iceberg-table-name
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
DELETE
perintah 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 lebih lanjut tentang penggunaanDELETE
dengan Athena, lihatDELETE
di panduan pengguna Athena.DELETE FROM
iceberg-table-name
WHERErecord-id-feature-name
IS IN ( SELECTrecord-id-feature-name
FROMiceberg-table-name
WHERE 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
OPTIMIZE
perintah untuk menulis ulang file data ke dalam tata letak yang lebih dioptimalkan, 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.OPTIMIZE
iceberg-table-name
REWRITE DATA USING BIN_PACK -
(Opsional, hanya perlu dijalankan sekali) Jalankan
ALTER TABLE
perintah 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_keep
danvacuum_max_snapshot_age_seconds
properti. Untuk informasi selengkapnya tentang mengubah properti kumpulan tabel Iceberg, lihat ALTERTABLESETPROPERTIESdi panduan pengguna Athena. Untuk informasi selengkapnya tentang pasangan nilai kunci properti tabel Iceberg, lihat Properti tabel di panduan pengguna Athena.ALTER TABLE
iceberg-table-name
SET TBLPROPERTIES ( 'vacuum_min_snapshots_to_keep'='your-specified-value
', 'vacuum_max_snapshot_age_seconds'='your-specified-value
' ) -
Jalankan
VACUUM
perintah untuk menghapus file data yang tidak lagi diperlukan untuk tabel Iceberg Anda, tidak direferensikan oleh versi saat ini.VACUUM
Perintah harus dijalankan setelah catatan yang dihapus tidak lagi direferensikan dalam snapshot saat ini. Misalnya,vacuum_max_snapshot_age_seconds
setelah penghapusan. Untuk informasi lebih lanjut tentangVACUUM
Athena dan sintaksnya, lihat.VACUUM
VACUUM
iceberg-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, gunakanDELETE
perintah di ApacheDELETE FROM
Spark. -
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 TABLE
perintah dari Athena, gunakan prosedur.expire_snapshots
-
Untuk menghapus file data yang tidak lagi diperlukan dari tabel Iceberg Anda: alih-alih menggunakan
VACUUM
perintah di Athena, gunakan prosedur.remove_orphan_files
-