Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Setelah membuat definisi Tampilan Fitur, yang disimpan di Katalog Unity, Anda dapat menghasilkan data fitur dari tabel sumber Anda menggunakan definisi fitur. Proses ini disebut mewujudkan fitur Anda. Azure Databricks membuat dan mengelola alur Lakeflow untuk mengisi tabel di Unity Catalog untuk pelatihan model dan penilaian batch atau penyajian online.
Untuk informasi tentang menyajikan Tampilan Fitur, lihat Menyajikan Tampilan Fitur.
Untuk menghapus nilai yang dimaterialisasi untuk entitas terpilih, lihat Bersihkan nilai fitur untuk entitas.
Persyaratan
- Fitur harus dibuat sebagai Tampilan Fitur dan disimpan di Katalog Unity.
- Untuk persyaratan versi, lihat Persyaratan.
Dukungan materialisasi berdasarkan tipe fitur
Apakah dan di mana sebuah fitur dapat dimaterialisasi tergantung pada jenisnya:
-
ColumnSelectionfitur dapat direalisasikan ke toko online. Lihat Materialisasi Pilihan Kolom. - Fitur batch
Lastdengan aRollingWindowdapat diwujudkan ke toko online. Lihat Materialize nilai terbaru dengan batas kesegaran. -
RequestSource,FeatureViewSource, danCustomUDFfitur tidak dapat dimaterialisasikan. Lihat Fitur dan materialisasi sesuai permintaan.
Fitur yang hanya muncul di toko online masih dapat digunakan secara offline: create_training_set dan compute_features menghitung nilai titik waktu langsung dari sumbernya, sehingga tidak diperlukan materialisasi offline.
Materialisasi "ColumnSelection"
ColumnSelection fitur memungkinkan pemilihan nilai terbaru dari satu kolom per kunci entitas tanpa proses agregasi. Mereka hanya dapat diwujudkan di toko online. Untuk kasus penggunaan offline (pelatihan dan pemodelan batch), ColumnSelection fitur diambil langsung dari sumber data saat permintaan data, sehingga materialisasi offline tidak diperlukan.
Perilaku materialisasi
- Alur menulis baris terbaru per kunci entitas ke tabel online, tanpa jendela agregasi.
- Materialisasi online mengisi tabel online dengan nilai terbaru saat ini per kunci entitas.
Example
from databricks.feature_engineering import FeatureEngineeringClient
from databricks.feature_engineering.entities import (
DeltaTableSource, Feature, ColumnSelection, TableTrigger, OnlineStoreConfig,
)
fe = FeatureEngineeringClient()
delta_source = DeltaTableSource(
catalog_name="catalog",
schema_name="schema",
table_name="transactions",
)
amount_feature = Feature(
source=delta_source,
function=ColumnSelection("amount"),
entity=["user_id"],
timeseries_column="transaction_time",
name="latest_transaction_amount",
)
# Register before materializing
amount_feature = fe.register_feature(
feature=amount_feature,
catalog_name="catalog",
schema_name="schema",
)
mfs = fe.materialize_features(
features=[amount_feature],
online_config=OnlineStoreConfig(
catalog_name="catalog",
schema_name="feats_online",
table_name_prefix="txn_",
online_store_name="lb_usw2"
),
trigger=TableTrigger(),
)
ColumnSelection fitur menggunakan TableTrigger, yang menjalankan alur setiap kali tabel Delta sumber menerima penerapan baru.
offline_config tidak diperlukan karena fitur ColumnSelection dibaca langsung dari sumber untuk kasus penggunaan offline (pelatihan dan inferensi batch).
Nota
RequestSource fitur tidak dapat dimaterialkan karena mewakili data yang diberikan oleh pemanggil pada waktu inferensi (atau diekstrak dari DataFrame berlabel pada waktu pelatihan). Tidak ada tabel sumber untuk dibaca. Nilai-nilai tersebut hanya ada dalam payload permintaan atau DataFrame pelatihan.
Materialisasikan nilai terbaru dengan batas kesegaran
Agregasi batch Last dengan RollingWindow memberikan masa aktif (TTL) pada fitur online: nilainya akan kedaluwarsa dari penyimpanan online ketika tidak ada nilai sumber yang berada dalam jendela waktu tersebut. Ini berguna ketika usia suatu nilai menentukan apakah nilai tersebut aman untuk dilayani. Misalnya, status perangkat dari satu jam terakhir dapat dikembalikan, sedangkan status yang lebih lama akan menghasilkan null alih-alih tetap tersedia selamanya.
A RollingWindow mendefinisikan durasi eksplisit yang memberikan fitur perilaku mirip TTL. Misalnya, jika sumber mempublikasikan nilai setiap hari dan Anda ingin hanya mempertahankan nilai dari tujuh hari terakhir, gunakan a RollingWindow dengan durasi tujuh hari. Pada setiap trigger, materialisasi melakukan penggantian penuh tabel online, sehingga nilai yang berada di luar jendela akan dihapus sesuai jadwal yang dapat diprediksi. Ini menghasilkan hasil yang sama seperti streaming Last dengan , RollingWindowtetapi biayanya lebih murah karena tidak menjalankan komputasi secara kontinu.
Pola publikasi ini mirip dengan tabel fitur dengan TTL yang dipublikasikan dalam mode snapshot. Jika Anda memelihara sekumpulan tabel fitur dan ingin menggunakannya bersama dengan Tampilan Fitur lainnya, Anda dapat menyesuaikannya dengan kerangka pembuat Tampilan Fitur. Gunakan batch Last dengan RollingWindow dan TableTrigger.
Kombinasi ini memiliki mode materialisasi khusus yang hanya online dengan persyaratan berikut:
- Sumber harus berupa
DeltaTableSource. - Fungsi agregasi harus merupakan
Last, dan jendelanya harus merupakanRollingWindow. - Materialisasi harus menyediakan
OnlineStoreConfig, menghilangkanOfflineStoreConfig, dan menggunakanTableTrigger.
Dalam contoh berikut, latest_device_state_1h adalah Fitur terdaftar yang memenuhi persyaratan ini:
from databricks.feature_engineering import FeatureEngineeringClient
from databricks.feature_engineering.entities import OnlineStoreConfig, TableTrigger
fe = FeatureEngineeringClient()
materialized = fe.materialize_features(
features=[latest_device_state_1h],
online_config=OnlineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="latest_device_state_serving",
online_store_name="device_state_store",
),
trigger=TableTrigger(),
)
Untuk pelatihan offline dan penilaian batch, klien rekayasa fitur menghitung nilai pada titik waktu tertentu secara langsung dari sumber data. Fitur ini tidak membaca materialisasi offline.
Considerations
- Masa berlaku hanya akan bertambah saat dipicu. Nilai online dan waktu kedaluwarsanya ikut maju ketika komit pada tabel sumber memicu penyegaran materialisasi. Waktu yang berlalu saja tidak memicu penyegaran. Jika sumber berhenti dipublikasikan, nilai terakhir yang termaterialisasi tetap berada di toko online sampai commit berikutnya memicu penyegaran.
- Selaraskan kolom seri waktu dengan waktu publikasi sumber. Kolom seri waktu harus mencerminkan kapan sumber mempublikasikan data. Jika tidak, nilai online dan offline akan berbeda, karena toko online bergabung pada waktu pemicu sementara pembacaan offline bergabung pada waktu seri waktu.
- Atur durasi jendela ke kelipatan dari ritme publikasi. Jika durasi
RollingWindowbukan kelipatan dari interval publikasi sumber, beberapa nilai dianggap sudah kedaluwarsa selama pelatihan offline, padahal nilai tersebut masih terlihat secara online.
Fitur dan materialisasi sesuai permintaan
RequestSource nilai-nilai berasal dari DataFrame pelatihan atau permintaan inferensi, sehingga tidak ada tabel sumber yang dapat dimaterialisasikan. Fitur FeatureViewSource menerapkan CustomUDF pada nilai fitur upstream selama pelatihan atau penyajian. Mereka tidak menyimpan hasil yang sudah dihitung sebelumnya. Materialisasi juga tidak didukung untuk fitur CustomUDF yang didukung tabel Delta.
Untuk graf dependensi seperti revenue_sum_7d dan cost_sum_7d yang memasok fitur margin:
- Untuk pelatihan offline, panggil
create_training_setdenganmargin. Ini menentukan fitur upstream dan menghitung nilai pada suatu titik waktu, menggunakan materialisasi offline yang kompatibel jika tersedia. - Untuk penyajian online, wujudkan fitur pendapatan dan biaya yang didukung ke toko online. Endpoint tersebut mencari data tersebut dan menghitung
marginuntuk setiap permintaan. - Teruskan hanya fitur upstream yang didukung ke
materialize_features, bukan kemarginatau fitur apa pun yang didukung oleh permintaan. Materialisasi tidak secara rekursif mematerialisasi ketergantungan pada fitur turunan.
Grafik yang hanya menggunakan fitur yang didukung permintaan tidak memerlukan toko online. Lihat Melatih dengan fitur FeatureViewSource dan Menyajikan fitur turunan.
Permissions
Materialisasi membutuhkan hak istimewa pada fitur serta sumber daya sumber dan tujuan. Untuk deskripsi lengkap hak istimewa Unity Catalog, lihat referensi hak istimewa Unity Catalog.
Mewujudkan fitur memerlukan
MANAGE. Pemanggilanmaterialize_featuresmembuat dan mengelola pipeline Lakeflow dan tabel Unity Catalog yang didukung, jadi ini adalah operasi manajemen. Anda harus memilikiMANAGEpada fitur tersebut, sertaREAD FEATUREuntuk membaca definisi fitur yang dimaterialisasi.Menghapus fitur yang termaterialisasi dibatasi hanya untuk pembuatnya. Hanya pengguna yang membuat fitur materialized yang dapat menghapusnya dengan
delete_materialized_feature. Pembatasan ini independen dari hak istimewa Unity Catalog:MANAGEpada fitur atau skema induknya tidak mengizinkan pengguna lain menghapusnya.Membaca data sumber membutuhkan
SELECT. Untuk fitur yang menggunakan sumber tabel Delta, Anda harus memilikiSELECTdi tabel sumber. Untuk fitur yang menggunakan sumber Stream, Anda harus memilikiSELECTpada tabel ingestion Stream.Untuk izin lain yang diperlukan oleh konfigurasi otentikasi Stream, lihat autentikasi Kafka.
Membuat tabel tujuan membutuhkan
CREATE TABLE. Anda harus memilikiCREATE TABLEpada setiap skema yang ditentukan olehOfflineStoreConfigatauOnlineStoreConfig. Destinasi offline dan online dapat berada dalam skema atau katalog yang berbeda, dan materialisasi memerlukan hak istimewa pada setiap destinasi.Mewujudkan toko online membutuhkan
CAN USE. Anda harus memilikiCAN USEpada instans atau project Lakebase yang digunakan oleh toko online. Untuk informasi tentang izin Lakebase, lihat Berikan izin proyek.Mencantumkan fitur termaterialisasi memerlukan
READ FEATUREpada fitur induk. Untuk menggunakanlist_materialized_features, Anda harus memilikiREAD FEATUREpada fitur yang telah dimaterialisasi.Membaca data termaterialisasi memerlukan
SELECT. Anda harus memilikiSELECTdi setiap tabel output offline atau online yang Anda akses.READ FEATUREpada fitur induk tidak memberikan akses ke tabel-tabel ini.
Untuk setiap sumber daya Unity Catalog yang terlibat dalam materialisasi, Anda juga perlu USE CATALOG pada katalog induknya dan USE SCHEMA pada skema induknya. Persyaratan ini berlaku untuk fitur tersebut, setiap tabel penyerapan sumber atau Stream, dan setiap tujuan yang dikonfigurasi.
READ FEATURE dan MANAGE diberikan pada skema atau katalog berlaku untuk semua fitur saat ini dan di masa mendatang yang dikandungnya.
Struktur data API
OfflineStoreConfig
Konfigurasi untuk penyimpanan offline tempat fitur materialisasi akan ditulis. Ketika materialize_features dipanggil, backend penyimpanan fitur membuat tabel menggunakan awalan ini. Setiap eksekusi alur mewujudkan nilai fitur terbaru ke tabel sesuai dengan jadwal materialisasi.
OfflineStoreConfig(
catalog_name: str, # Catalog name for the offline table where materialized features will be stored
schema_name: str, # Schema name for the offline table
table_name_prefix: str # Table name prefix for the offline table. The pipeline may create multiple tables with this prefix, each updated at different cadences
)
from databricks.feature_engineering.entities import OfflineStoreConfig
offline_store = OfflineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="customer_features"
)
OnlineStoreConfig
Konfigurasi untuk toko online, yang menyimpan fitur yang digunakan oleh penyajian model. Materialisasi membuat tabel Delta dengan catalog.schema.table_name_prefix, dan menyalurkan tabel ke Penyimpanan Fitur Online dengan nama yang sama.
from databricks.feature_engineering.entities import OnlineStoreConfig
online_store = OnlineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="customer_features_serving",
online_store_name="customer_features_store"
)
MaterializedFeature
Mewakili Tampilan Fitur yang telah dimaterialisasi, yaitu memiliki representasi yang telah diprakomputasi dan tersedia di Unity Catalog. Ada fitur materialisasi terpisah untuk tabel offline dan tabel online. Biasanya, pengguna tidak akan menginstansiasi MaterializedFeature secara langsung.
Panggilan fungsi API
materialize_features()
Mematerialisasikan daftar Feature View menjadi tabel Delta offline atau ke Feature Store online. Fitur harus terdaftar di Katalog Unity sebelum memanggil fungsi ini (misalnya, menggunakan create_feature atau register_feature). Fitur yang dibangun secara lokal yang belum terdaftar tidak akan berfungsi.
FeatureEngineeringClient.materialize_features(
*, # Arguments are keyword-only
features: List[Feature], # List of Feature Views to materialize
offline_config: Optional[OfflineStoreConfig] = None, # Offline store config (aggregation features only)
online_config: Optional[OnlineStoreConfig] = None, # Online store config
trigger: Union[CronSchedule, TableTrigger, StreamingMode], # Materialization trigger
tags: Optional[Dict[str, str]] = None, # Custom tags for cost attribution
budget_policy_id: Optional[str] = None, # Serverless usage policy for cost attribution
) -> List[MaterializedFeature]:
Metode ini mengembalikan daftar fitur yang diwujudkan, yang berisi metadata tentang waktu pembaruan nilai fitur dan tabel dalam Unity Catalog tempat fitur diwujudkan.
Jika sebuah OnlineStoreConfig dan sebuah OfflineStoreConfig disediakan, maka dua fitur yang terwujud akan dikembalikan untuk setiap fitur yang disediakan, satu untuk setiap jenis penyimpanan.
Parameter trigger mengontrol kapan alur materialisasi berjalan:
-
CronSchedule: Berjalan sesuai jadwal yang diturunkan dari penjadwalan fitur atau sesuai jadwal cron Quartz yang disediakan oleh pemanggil. Didukung untuk fitur agregasi batch (AggregationFunctiondariDeltaTableSource). -
TableTrigger: Berjalan ketika tabel Delta terhulu menerima komit. Didukung pada fiturColumnSelectiondan fitur agregasi (AggregationFunction) yang didukung oleh sumber dataDeltaTableSource. Untuk fitur agregasi, pipeline dibatasi agar berjalan paling banyak sekali per setengah granularitas fitur (durasi slide untuk jendela geser, atau panjang jendela untuk jendela berguling), dibatasi 1 jam dan tidak pernah lebih sering dari setiap 5 menit. Misalnya, paling banyak sekali setiap 30 menit untuk granularitas 1 jam, atau paling banyak sekali per jam untuk granularitas 2 jam atau lebih. Interval diukur sejak eksekusi sebelumnya, sehingga commit yang tiba setelah interval tersebut berakhir tetap segera memicu eksekusi. -
StreamingMode: Berjalan sebagai alur streaming berkelanjutan. Diperlukan untuk fitur yang didukung olehStreamSource.
Anda tidak dapat mencampur fitur yang memerlukan jenis pemicu yang berbeda dalam satu materialize_features panggilan. Lakukan panggilan terpisah sebagai gantinya.
Untuk mengatributkan biaya materialisasi, luluskan tags, budget_policy_id, atau keduanya. Azure Databricks menerapkannya pada job atau pipeline yang dibuatnya, sehingga biayanya mencantumkan atribusi Anda dalam tabel sistem penggunaan yang dapat ditagihkan. Keduanya diterapkan saat penciptaan, jadi mengatributkan materialisasi yang sudah ada secara berbeda berarti menciptakan materialisasi baru.
budget_policy_id menerima ID kebijakan penggunaan serverless. Untuk membuat dan mendapatkan ID-nya, lihat Buat kebijakan penggunaan tanpa server. Untuk batasan tag, sumber daya yang dicakup oleh setiap nilai, dan cara membuat kueri atas pengeluaran yang diatribusikan, lihat manajemen biaya Feature Store.
Materialisasi ke penyimpanan offline
from databricks.feature_engineering import FeatureEngineeringClient
from databricks.feature_engineering.entities import (
CronSchedule, OfflineStoreConfig,
)
fe = FeatureEngineeringClient()
materialized = fe.materialize_features(
features=features,
offline_config=OfflineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="customer_features"
),
trigger=CronSchedule(
quartz_cron_expression="0 0 * * * ?", # Hourly
timezone_id="UTC",
),
)
Mengimplementasikan menjadi toko online
Nota
Untuk mematerialisasikan sebagian besar fitur agregasi ke penyimpanan online, Anda juga harus mematerialisasikannya ke penyimpanan offline. Keduanya offline_config dan online_config diperlukan.
online_store_name harus merujuk kepada Toko Fitur Online yang sudah ada. Untuk petunjuk untuk membuat satu, lihat Penyimpanan Fitur Online Databricks.
ColumnSelection fitur tidak memerlukan OfflineStoreConfig. Lihat Materialisasi Pilihan Kolom.
Batch Last dengan RollingWindow case khusus juga hanya tersedia secara online. Lihat Materialize nilai terbaru dengan batas kesegaran.
from databricks.feature_engineering import FeatureEngineeringClient
from databricks.feature_engineering.entities import (
CronSchedule, OfflineStoreConfig, OnlineStoreConfig,
)
fe = FeatureEngineeringClient()
materialized = fe.materialize_features(
features=features,
offline_config=OfflineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="customer_features"
),
online_config=OnlineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="customer_features_serving",
online_store_name="customer_features_store"
),
trigger=CronSchedule(
quartz_cron_expression="0 0 * * * ?", # Hourly
timezone_id="UTC",
),
)
Mewujudkan fitur streaming
Fitur streaming hanya dapat diwujudkan ke toko online; offline_config parameter tidak didukung. Materialisasi offline tidak didukung karena fitur streaming memerlukan pipeline real-time untuk memastikan kesegaran data dalam hitungan kurang dari satu detik. Untuk pelatihan atau evaluasi offline, klien rekayasa fitur akan mengolah ulang nilai fitur berdasarkan setiap titik data yang dievaluasi.
Fitur streaming tidak dapat dicampur dengan fitur batch dalam panggilan yang sama materialize_features .
from databricks.feature_engineering import FeatureEngineeringClient
from databricks.feature_engineering.entities import (
OnlineStoreConfig, StreamingMode,
)
fe = FeatureEngineeringClient()
materialized = fe.materialize_features(
features=[streaming_feature],
online_config=OnlineStoreConfig(
catalog_name="my_catalog",
schema_name="my_schema",
table_name_prefix="streaming_features_serving",
online_store_name="feature_store_online"
),
trigger=StreamingMode(),
)
list_materialized_features()
Mengembalikan materialisasi dari satu fitur, yang diidentifikasi berdasarkan nama lengkapnya.
feature_name wajib dan hanya dapat digunakan sebagai argumen kata kunci. Untuk meninjau materialisasi di banyak fitur, pertama-tama cantumkan fitur dalam katalog atau skema, lalu panggil list_materialized_features pada setiap fitur yang dikembalikan.
Secara default, maksimum 100 materialisasi dikembalikan. Anda dapat mengubah batas ini menggunakan max_results parameter .
FeatureEngineeringClient.list_materialized_features(
*, # Arguments are keyword-only
feature_name: str, # Required: full name of the feature whose materializations to list
max_results: int = 100, # Maximum number of materializations to return
) -> List[MaterializedFeature]:
delete_materialized_feature()
Sebelum menghapus fitur yang dimaterialisasikan, hapus atau perbarui model atau spesifikasi fitur apa pun yang merujuk pada fitur tersebut.
Menghapus fitur materialisasi. Fitur yang akan diteruskan tergantung pada jenis fitur:
-
Fitur agregasi: Pindahkan fitur yang telah dimaterialisasi offline. Jika ada fitur yang dilaksanakan secara online untuk fitur tersebut, maka keduanya akan dihapus. Untuk fitur
Lastbatch yang hanya online denganRollingWindow, gunakan fitur online yang termaterialisasi. -
ColumnSelectionfitur: Sampaikan fitur terwujud secara online.ColumnSelectionfitur diimplementasikan khusus untuk toko online (lihat proses materialisasi ColumnSelection), sehingga tidak ada fitur offline yang dipasangkan.
Sebagai bagian dari materialisasi, fitur dikelompokkan bersama berdasarkan sumber data dan jendela agregasi untuk efisiensi.
ColumnSelection fitur tidak memiliki jendela agregasi, sehingga hanya dikelompokkan menurut sumber data. Alur materialisasi, tabel offline, dan tabel online tidak dihapus hingga semua fitur yang dikelompokkan telah dihapus. Ketika fitur yang dimaterialisasi terakhir dalam suatu grup dihapus, feature store menjadwalkan pembersihan otomatis sumber daya terkait melalui proses latar belakang. Lihat Pembersihan sumber daya latar belakang.
Untuk menghapus fitur yang terwujud, lihat tabel yang terkait dengan fitur tersebut. Setiap fitur dalam tabel (satu per kolom) harus dihapus sebelum sumber daya tabel komputasi dan Delta dibersihkan.
Gunakan list_materialized_features() untuk mendapatkan materialized_feature argumen.
FeatureEngineeringClient.delete_materialized_feature(
materialized_feature: MaterializedFeature, # Required: The materialized feature to delete
) -> None
from databricks.feature_engineering import FeatureEngineeringClient
fe = FeatureEngineeringClient()
feature_names = [
"main.feature_store.amount_sum_sliding_7d_1d",
"main.feature_store.amount_sum_sliding_30d_1d",
"main.feature_store.transaction_count_sliding_7d_1d",
"main.feature_store.latest_transaction_amount",
"main.feature_store.latest_user_tier",
]
for name in feature_names:
mfs = fe.list_materialized_features(feature_name=name) # required, keyword-only
offline = [mf for mf in mfs if not mf.is_online]
for mf in (offline or mfs):
fe.delete_materialized_feature(materialized_feature=mf)
fe.delete_feature(full_name=name)
Pembersihan sumber daya latar belakang
Saat Anda menghapus fitur termaterialisasi, Databricks segera menghapus metadata fitur tersebut. Infrastruktur terkait (tabel, alur, dan pekerjaan) dibersihkan secara asinkron oleh proses latar belakang.
Karena beberapa fitur termaterialisasi dapat berbagi tabel dan pipeline yang sama, sumber daya bersama ini tidak akan dihapus sampai semua fitur termaterialisasi yang merujuk ke sumber daya tersebut telah dihapus. Saat fitur terwujud terakhir yang berbagi sekumpulan tabel dihapus, proses latar belakang secara otomatis menghapus sumber daya berikut:
- Tabel Delta offline yang berisi data fitur yang dimaterialisasi
- Tabel online, jika fitur diwujudkan ke toko online
- Alur materialisasi
- Pekerjaan orkestrasi
Proses latar belakang ini menggunakan perwakilan layanan sistem yang dikelola Databricks untuk melakukan tindakan pembersihan ini atas nama Anda, termasuk menghapus tabel, alur, dan pekerjaan di ruang kerja Anda. Anda tidak perlu melakukan tindakan apa pun. Pembersihan sepenuhnya dikelola oleh feature store.
Nota
Mungkin ada penundaan singkat antara menghapus fitur terwujud terakhir dalam grup dan penghapusan tabel terkait dan sumber daya lainnya.
Lihat status materialisasi
Untuk melihat status materialisasi Tampilan Fitur Anda di UI Databricks serta men-debug error materialisasi, lihat Jelajahi Tampilan Fitur di Unity Catalog.
Keterbatasan
Fitur pemrosesan batch
- Alur materialisasi batch berjalan sebagai alur Lakeflow tanpa server.
- Fitur jendela bergulir batch tidak dapat dimaterialisasikan, kecuali untuk kasus khusus yang hanya berlaku untuk online
Lastyang dijelaskan dalam Materialisasikan nilai terbaru yang dibatasi kesegarannya. Untuk pelatihan offline atau inferensi batch, fitur jendela bergulir dihitung berdasarkan data sumber untuk setiap pencarian point-in-time. -
ColumnSelectionfitur hanya dapat diimplementasikan di toko online. -
RequestSource,FeatureViewSource, danCustomUDFfitur tidak dapat dimaterialisasikan. Lihat Fitur dan materialisasi sesuai permintaan. - Fitur materialisasi hanya dapat dihapus di ruang kerja tempat fitur tersebut dibuat.
- Hanya pengguna yang membuat fitur materialized yang dapat menghapusnya, terlepas dari hak istimewa Unity Catalog pada fitur atau skema induknya.
- Untuk fitur agregasi yang dimaterialisasi, fitur online yang dimaterialisasi tidak bisa dihapus langsung. Hapus fitur materialisasi offline yang dipasangkan, dan perubahan disebarkan ke keduanya.
- Untuk fitur agregasi yang dimaterialisasi yang dibuat sebelum 20 April 2026, pemrosesan materialisasi terus menghasilkan nilai fitur yang baru sampai semua fitur yang dimaterialisasi dalam pemrosesan tersebut telah dihapus, yang memicu pembersihan sumber daya. Untuk membuat alur yang diperbarui yang mendukung penghapusan per fitur, hapus dan buat ulang fitur.
- Untuk fitur materialisasi
ColumnSelection, alur materialisasi terus menghasilkan nilai fitur baru sampai semua fitur materialisasi dalam alur telah dihapus, yang memicu pembersihan sumber daya.
Fitur streaming
- Fitur streaming hanya dapat diwujudkan ke toko online. Materialisasi offline tidak diperlukan karena fitur streaming selama pelatihan dirancang untuk dihitung ulang dari peristiwa historis untuk setiap titik data guna memberikan akurasi tingkat milidetik.
- Fitur streaming tidak dapat dicampur dengan fitur batch dalam satu
materialize_featurespanggilan. -
compute_featurestidak mendukung fitur streaming. - Ruang kerja harus berada di wilayah yang mendukung instans Lakebase.
- Pesan Kafka dapat menggunakan JSON, Avro, atau Protobuf. Untuk persyaratan skema dan batasan registri skema, lihat Registri skema.
- Hanya
RollingWindowdanSawtoothWindowdidukung untuk fitur agregasi streaming.TumblingWindowdanSlidingWindowharus digunakan dengan fitur batch. Lihat jendela waktu untuk fitur streaming. - Hanya fungsi agregasi
Count,Avg,Sum,Max,StddevPop,Min,Last,LastDistinct,First,FirstN,LastN, danFirstDistinctyang didukung untuk fitur streaming. - Fitur pemilihan kolom dari sumber streaming tidak menangani pesan yang tidak berurutan. Peristiwa terbaru pada aliran Kafka ditampilkan, bahkan jika nilai kolom timeseries lebih awal dari peristiwa yang diterima sebelumnya.
- Alur streaming dimulai ulang dua kali seminggu. Setiap mulai ulang dapat menyebabkan penundaan pemrosesan dan waktu mulai hingga 1 menit. Tidak termasuk menghidupkan ulang, kesegaran p99 adalah 200ms.
- Pengisian ulang fitur untuk materialisasi tidak didukung. Saat sebuah fitur dimaterialisasikan, perhitungannya dilakukan sejak titik itu dan seterusnya. Agregasi yang baru dibuat dalam toko online tidak akurat hingga jangka waktunya berakhir.
- Hanya Databricks Online Feature Store yang didukung.
- Alur materialisasi streaming berjalan sebagai alur Lakeflow tanpa server.