Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Unity Kataloğu'nda depolanan Özellik Görünümü tanımlarınızı oluşturduktan sonra, özellik tanımlarını kullanarak kaynak tablonuzdan özellik verileri oluşturabilirsiniz. Bu işleme özelliklerinizin somutlaştırılması denir. Azure Databricks model eğitimi ve toplu puanlama veya çevrimiçi sunum için Unity Kataloğu'ndaki tabloları doldurmak için Lakeflow işlem hatlarını oluşturur ve yönetir.
Özellik Görünümlerini sunma hakkında bilgi için bkz. Özellik Görünümlerini Sunma.
Seçilen varlıklar için somutlaştırılmış değerleri kaldırmak üzere, Varlıklar için özellik değerlerini temizleme bölümüne bakın.
Gereksinimler
- Özellikler Özellik Görünümleri olarak oluşturulmalı ve Unity Kataloğu'nda depolanmalıdır.
- Sürüm gereksinimleri için bkz . Gereksinimler.
Özellik türüne göre maddeleştirme desteği
Bir özelliğin nerede ve nerede gerçekleşebileceği türüne bağlıdır:
-
ColumnSelectionözellikleri çevrimiçi mağazalarda somutlaştırılabilir. Bkz. ColumnSelection materyalizasyon. - Bir
RollingWindowile topluLastözellikler çevrimiçi depolara somutlaştırılabilir. Bkz. Güncellikle sınırlı en son değerleri somutlaştırma. -
RequestSource,FeatureViewSource, veCustomUDFözellikler maddileştirilemez. Bkz. İsteğe bağlı özellikler ve somutlaştırma.
Yalnızca çevrimiçi mağazalarda materialize edilen özellikler çevrimdışıyken de kullanılabilir: create_training_set ve compute_features, belirli bir andaki değerlerini doğrudan kaynaktan hesapladığından çevrimdışı materialize etmeye gerek yoktur.
ColumnSelection gerçekleştirme
ColumnSelection özellikler, toplama olmadan varlık anahtarı başına tek bir sütunun en son değerini seçer. Yalnızca çevrimiçi mağazalar için kullanılabilir duruma getirilebilirler. Çevrimdışı kullanım örnekleri için (eğitim ve toplu çıkarım), ColumnSelection özellikler sorgu zamanında doğrudan kaynak verilerden getirilir, bu nedenle çevrimdışı gerçekleştirme gerekmez.
Malzemeleştirme davranışı
- Pipeline, varlık anahtarı başına en son satırı toplama penceresi olmadan çevrimiçi tabloya yazar.
- Çevrimiçi gerçekleştirme, çevrimiçi tabloyu her bir varlık anahtarı için geçerli olan en son değerle doldurur.
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 özellikleri, kaynak Delta tablosu yeni bir işleme aldığında işlem hattını çalıştıran TableTrigger kullanır. Çevrimdışı kullanım senaryoları (eğitim ve toplu çıkarım) için özellikler doğrudan kaynaktan okunduğundan, offline_config gerekmez ColumnSelection.
Note
RequestSource özellikler, çağrı yapan kişi tarafından tahmin zamanında sağlanan verileri temsil ettiği (veya eğitim zamanında etiketli DataFrame'den alındıkları) için gerçekleştirilemez. Okunacak kaynak tablo yok. Değerler yalnızca istek yükünde veya Eğitim DataFrame'de bulunur.
Tazelik sınırına sahip en son değerleri somutlaştırın
RollingWindow içeren bir toplu Last toplama, çevrimiçi bir özelliğin zaman aşımı süresini (TTL) tanımlar: hiçbir kaynak değer pencere içinde yer almadığında, değeri çevrimiçi depodan silinir. Bu, bir değerin yaşı servisin güvenli olup olmadığını belirlediğinde faydalıdır. Örneğin, son bir saate ait bir cihaz durumu döndürülebilirken, daha eski bir durum süresiz olarak erişilebilir kalmak yerine null değerine çözülür.
RollingWindow, özelliğe TTL benzeri bir davranış kazandıran açıkça tanımlanmış bir süre belirtir. Örneğin, kaynak her gün değerler yayımlıyorsa ve sadece son yedi günün değerlerini korumak istiyorsanız, yedi günlük süreli a RollingWindow kullanın. Her tetiklemede, materialization çevrimiçi tabloyu tamamen değiştirir; böylece pencerenin dışına çıkan değerler öngörülebilir bir zamanlamaya göre kaldırılır. Bu, bir Last ile akış yapan RollingWindow ile aynı sonucu üretir, ancak hesaplamayı sürekli çalıştırmadığı için daha düşük maliyetlidir.
Bu yayın deseni, anlık görüntü modunda yayınlanan TTL'ye sahip bir özellik tablosuna benzer. Bir dizi özellik tablosu bulunduruyorsan ve onları diğer Özellik Görünümleriyle birlikte kullanmak istiyorsan, bunları Özellik Görünümleri yazarlık çerçevesine uyarlayabilirsin.
Last toplu işlemini RollingWindow ve TableTrigger ile kullanın.
Bu kombinasyon, aşağıdaki gereksinimlerle özel bir çevrimiçi materyalizasyon moduna sahiptir:
- Kaynak bir
DeltaTableSourceolmalıdır. - Toplama fonksiyonu
Last, penceresi ise birRollingWindowolmalıdır. - Materialization, bir
OnlineStoreConfigsağlamalı,OfflineStoreConfigöğesini atlamalı veTableTriggerkullanmalıdır.
Aşağıdaki örnekte, latest_device_state_1h bu gereksinimleri karşılayan kayıtlı bir Özellik bulunmaktadır:
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(),
)
Çevrimdışı eğitim ve toplu puanlama için özellik mühendisliği istemcisi, belirli bir zamandaki değeri doğrudan kaynaktan hesaplar. Bu özellik için çevrimdışı bir maddeleştirme okumaz.
Değerlendirmeler
- Son kullanma tarihi sadece tetikleyiciye göre avans alır. Bir kaynak tablodaki commit işlemi bir materialization yenilemesini tetiklediğinde, çevrimiçi değer ve son kullanma süresi ileri alınır. Sadece zaman geçmesi yenilemeyi tetiklemez. Kaynak yayınlamayı durdurursa, son maddeleştirilen değer çevrimiçi mağazada kalır, ta ki sonraki bir commit yenilemeyi tetikleene kadar.
- Zaman serisi sütununu kaynak yayın zamanıyla hizalayın. Zaman serisi sütunu, kaynağın veriyi ne zaman yayımladığını göstermelidir. Aksi takdirde, çevrimiçi ve çevrimdışı değerler birbirinden ayrılır, çünkü çevrimiçi mağaza tetikleme zamanında katılırken, çevrimdışı okumalar zaman serisi zamanında birleşir.
- Pencere süresini yayınlama sıklığının bir katına ayarlayın.
RollingWindowsüresi, kaynağın yayınlama sıklığının bir katı değilse bazı değerler, çevrimiçi ortamda hâlâ görünür durumdayken çevrimdışı eğitim sırasında süresi dolmuş olarak değerlendirilir.
İsteğe bağlı özellikler ve somutlaştırma
RequestSource değerler eğitim DataFrame veya çıkarım isteğinden gelir, bu yüzden kaynak tablo oluşturulamaz.
FeatureViewSource özellikleri, eğitim veya sunum sırasında üst akış özellik değerlerine bir CustomUDF uygular. Önceden hesaplanmış bir sonucu saklamazlar. Delta tablosuyla desteklenen özellikler için de materyalizasyon desteklenmemektedir CustomUDF .
cost_sum_7d özelliğini besleyen revenue_sum_7d ve margin gibi bir bağımlılık grafiği için:
- Çevrimdışı eğitim için
marginilecreate_training_setöğesini çağırın. Üst akış özelliklerini çözer ve mevcut olduğunda uyumlu çevrimdışı materyalizasyonlar kullanarak nokta-zaman değerleri hesaplar. - Çevrimiçi servis için, desteklenen gelir ve maliyet özelliklerini bir online mağazaya aktarın. Uç nokta, bunları bulur ve her istek için
marginhesaplar. - Yalnızca desteklenen upstream özellikleri
materialize_featuresöğesine iletin,marginöğesine veya istek destekli herhangi bir özelliğe değil. Maddeleşme, türetilmiş bir özelliğin bağımlılıklarını özyinelemeli olarak maddeleştirmez.
Yalnızca isteğe dayalı özellikler kullanan bir grafik, çevrimiçi mağazaya ihtiyaç duymaz. FeatureViewSource özellikleriyle eğitme ve türetilmiş özellikleri sunma konularına bakın.
Permissions
Maddeleştirme, özellik ve kaynak ile hedef kaynaklar üzerinde ayrıcalıklar gerektirir. Tam Unity Kataloğu ayrıcalık açıklamaları için Unity Kataloğu ayrıcalıkları referansına bakınız.
Bir özelliğin gerçekleştirilmesi için
MANAGEgerekir.materialize_featuresçağrısı, arka plandaki Lakeflow işlem hatlarını ve Unity Catalog tablolarını oluşturur ve yönetir; dolayısıyla bu bir yönetim işlemidir. Somutlaştırılan özellik tanımını okumak için, özellikteMANAGEve ayrıcaREAD FEATUREolmalıdır.Somutlaştırılmış bir özelliğin silinmesi yalnızca onu oluşturan kişiyle sınırlıdır. Yalnızca bir maddeleştirilmiş özellik oluşturan kullanıcı onu silebilir.
delete_materialized_featureBu kısıtlama, Unity Kataloğu ayrıcalıklarından bağımsızdır:MANAGEözellik veya ana şeması üzerinde başka bir kullanıcının onu silmesine izin vermez.Kaynak verilerini okumak için
SELECTgereklidir. Delta tablo kaynağı kullanan bir özellik için, kaynak tabloda mutlaka olmalıdırSELECT. Stream kaynağı kullanan bir özellik için, Stream'in alma tablosundaSELECTbulunmalıdır.Bir Akış'ın kimlik doğrulama yapılandırması için gereken diğer izinler için bakınız: Kafka kimlik doğrulama.
Hedef tablolar oluşturmak için
CREATE TABLEgereklidir.OnlineStoreConfigveyaCREATE TABLEtarafından belirtilen her şemadaOfflineStoreConfigbulunmalıdır. Çevrimdışı ve çevrimiçi varış noktaları farklı şemalarda veya kataloglarda olabilir ve materyalizasyon her bir destinasyon üzerinde ayrıcalıklar gerektirir.Çevrimiçi bir mağaza oluşturmak için
CAN USEgerekir. Çevrimiçi mağaza tarafından kullanılan Lakebase örneğinde veya projesindeCAN USEolmalıdır. Lakebase izinleri hakkında bilgi için bkz. Proje izinleri ver.Somutlaştırılmış özellikleri listelemek için üst özellikte
READ FEATUREgerekir.list_materialized_featureskullanmak için, somutlaştırılan özellikteREAD FEATUREolmalıdır.Somutlaştırılmış verilerin okunması için
SELECTgerekir. Eriştiğiniz her çevrimdışı veya çevrimiçi çıkış tablosundaSELECTbulunmalıdır.READ FEATUREebeveyn özelliği bu tablolara erişim izni vermez.
Maddeleştirmede yer alan her Unity Catalog kaynağı için, üst kataloğunda USE SCHEMA ve üst şemasında USE CATALOG iznine de ihtiyacınız vardır. Bu gereklilik, her bir kaynak veya Akış alım tablosu ve her yapılandırılmış hedef için geçerlidir.
READ FEATURE ve MANAGE bir şemada veya katalogda verilenler, içerdiği tüm geçerli ve gelecekteki özellikler için geçerlidir.
API veri yapıları
OfflineStoreConfig
Gerçekleştirilmiş özelliklerin yazılacağı çevrimdışı depo yapılandırması. Çağrıldığında materialize_features, özellik deposu arka planı bu ön eki kullanarak tablolar oluşturur. Her işlem hattı yürütmesi, gerçekleştirme zamanlamasına göre tabloya en son özellik değerlerini oluşturur.
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
Model teslim hizmeti için özellikleri depolayan çevrimiçi mağaza yapılandırması. Gerçekleştirme, catalog.schema.table_name_prefix ile Delta tabloları oluşturur ve tabloları aynı adla Çevrimiçi Özellik Deposu'na akıtır.
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
Unity Catalog'da önceden hesaplanmış bir temsili bulunan, yani somutlaştırılmış bir Özellik Görünümünü temsil eder. Çevrimdışı tablo ve çevrimiçi tablo için ayrı somutlaştırılmış özellikler bulunur. Genellikle, kullanıcılar doğrudan bir MaterializedFeature örneği oluşturmaz.
API işlev çağrıları
materialize_features()
Özellik Görünümlerinin listesini çevrimdışı Delta tablosuna veya Çevrimiçi Özellik Mağazası'na aktarır. Bu işlevi çağırmadan önce özelliklerin Unity Kataloğu'nda kaydedilmesi gerekir (örneğin create_feature veya register_feature kullanarak). Kaydedilmemiş yerel olarak yapılmış özellikler çalışmaz.
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]:
Method, özellik değerlerinin ne zaman güncellendiğine ve bu özelliklerin maddileştirildiği Unity Catalog tablolarına dair meta verileri içeren maddileştirilmiş özellikler listesini döndürür.
Eğer hem bir OnlineStoreConfig hem de bir OfflineStoreConfig sağlanırsa, sağlanan her özellik için, her mağaza türü başına bir tane olmak üzere iki somutlaştırılmış özellik döndürülür.
trigger parametresi, gerçekleştirme işlem hattının ne zaman çalıştırılacağını denetler.
-
CronSchedule: Özellik zamanlamasından türetilen bir zamanlamaya göre veya çağıran tarafından sağlanan bir Quartz cron zamanlamasına göre çalışır. Toplu toplama özellikleri için desteklenir (AggregationFunctionfromDeltaTableSource). -
TableTrigger: Yukarı akış Delta tablosu bir işleme aldığında çalışır.DeltaTableSourcetarafından desteklenenColumnSelectionözellikleri ve toplama özellikleri (AggregationFunction) için destek sunulur. Toplama özellikleri için boru hattının çalışma sıklığı, özelliğin granülerliğinin yarısı başına en fazla bir kez olacak şekilde kısıtlanır (kayan pencere için kayma süresi, atlamalı pencere için ise pencere uzunluğu); bu süre en fazla 1 saat ile sınırlandırılır ve hiçbir durumda 5 dakikada birden daha sık çalışmaz. Örneğin, 1 saatlik bir granülerlik için en fazla 30 dakikada bir veya 2 saat veya daha fazla granülarlık için en fazla saatte bir kez. Aralık, önceki çalıştırmadan itibaren ölçülür; bu nedenle süre dolduktan sonra gelen bir commit yine de hemen bir çalıştırmayı tetikler. -
StreamingMode: Sürekli akış işlem hattı olarak çalışır.StreamSourcetarafından desteklenen özellikler için gereklidir.
Tek materialize_features bir çağrıda farklı tetikleyici türleri gerektiren özellikleri karıştıramazsınız. Bunun yerine ayrı aramalar yapın.
Bir somutlaştırmanın maliyetini atamak için tags, budget_policy_id veya her ikisini birden geçirin. Azure Databricks bunları oluşturduğu işe veya işlem hattına uygular; böylece yaptığı harcama, faturalandırılabilir kullanım sistem tablosunda ilişkilendirmenizi içerir. Her ikisi de yaratılışta uygulanır, bu yüzden mevcut bir maddileşmeyi farklı şekilde atfetmek yeni bir maddileşme yaratmak anlamına gelir.
budget_policy_id sunucusuz kullanım politikasının kimliğini alır. Bir tane oluşturmak ve kimliğini almak için Sunucusuz kullanım politikası oluştur sayfasına bakınız. Etiket sınırları, her değerin ulaştığı kaynaklar ve atriteli harcamanın nasıl sorgulanacağı için Feature Store maliyet yönetimine bakınız.
Çevrimdışı mağazaya dönüştürme
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",
),
)
Çevrimiçi mağazaya geçiş
Note
Çoğu toplama özelliğini çevrimiçi mağazaya aktarmak için, aynı zamanda çevrimdışı bir mağazaya da ulaşmanız gerekir. Her ikisi de offline_config ve online_config gereklidir. , online_store_name mevcut bir Çevrimiçi Özellik Deposu'na başvurmalıdır. Oluşturma yönergeleri için bkz. Databricks Online Özellik Mağazaları.
ColumnSelection özellikleri OfflineStoreConfig gerektirmez. Bkz. ColumnSelection materyalizasyon.
Özel durumlu RollingWindow parti Last de sadece çevrimiçi olarak sunuluyor. Bkz. Güncellikle sınırlı en son değerleri somutlaştırma.
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",
),
)
Akış özelliklerini oluşturma
Akış özellikleri yalnızca çevrimiçi mağazalara gerçekleştirilebilir; offline_config parametresi desteklenmiyor. Akış özellikleri, verilerin bir saniyenin altında güncel kalmasını sağlamak için gerçek zamanlı bir işlem hattı gerektirdiğinden, çevrimdışı materyalizasyon desteklenmez. Çevrimdışı eğitim veya değerlendirme için özellik mühendisliği istemcisi, değerlendirilen her veri noktasına göre özellik değerlerini yeniden derler.
Akış özellikleri aynı materialize_features çağrıdaki toplu iş özellikleriyle karıştırılamaz.
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()
Tam adına göre tanımlanan tek bir özelliğin gerçekleştirimlerini döndürür.
feature_name gereklidir ve yalnızca anahtar sözcük kullanılabilir. Birçok özellikteki materyalizasyonları gözden geçirmek için önce özellikleri bir katalogda veya şemada listeleyin, ardından döndürülen her özellik için list_materialized_features öğesini çağırın.
Varsayılan olarak, en fazla 100 materialization döndürülür. parametresini max_results kullanarak bu sınırı değiştirebilirsiniz.
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()
Gerçekleştirilmiş bir özelliği silmeden önce, özelliğe başvuran modelleri veya özellik belirtimlerini kaldırın veya güncelleştirin.
Gerçekleştirilmiş bir özelliği siler. Geçirilecek özellik, özelliğin türüne bağlıdır.
-
Toplama Özellikleri: Çevrimdışı yapılandırılmış özelliği uygulayın. Aynı özellik için çevrimiçi gerçekleştirilmiş bir özellik varsa, her ikisi de silinir.
RollingWindowiçeren yalnızca çevrimiçi topluLastözelliği için, çevrimiçi somutlaştırılmış özelliği geçirin. -
ColumnSelectionözellikler: Çevrimiçi materialize edilmiş özelliği iletin.ColumnSelectionözellikleri yalnızca çevrimiçi mağaza için malzemeleştirilir (bkz. ColumnSelection malzemeleştirilmesi), dolayısıyla karşılık gelen çevrimdışı özellik yoktur.
Gerçekleştirmenin bir parçası olarak özellikler, verimlilik için veri kaynağına ve toplama penceresine göre gruplandırılır.
ColumnSelection özelliklerin toplama penceresi yoktur, bu nedenle yalnızca veri kaynağına göre gruplandırılır. Gerçekleştirme işlem hattı, çevrimdışı tablo ve çevrimiçi tablo, gruplandırılmış tüm özellikler silinene kadar silinmez. Bir gruptaki son somutlaştırılmış özellik silindiğinde, özellik deposu ilişkili kaynakları bir arka plan süreci tarafından otomatik olarak temizlenmek üzere planlar. Bkz. Arka plan kaynağı temizleme.
Gerçekleştirilmiş özellikleri temizlemek için gerçekleşmiş özelliğe bağlı tabloyu inceleyin. İşlem ve Delta tablosu kaynakları temizlenmeden önce tablodaki her özelliğin (sütun başına bir tane) silinmesi gerekir.
list_materialized_features() kullanarak materialized_feature bağımsız değişkenini alın.
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)
Arka plan kaynağı temizleme
Gerçekleştirilmiş bir özelliği sildiğinizde Databricks özellik meta verilerini hemen kaldırır. İlişkili altyapı (tablolar, işlem hatları ve işler) arka plan işlemi tarafından zaman uyumsuz olarak temizlenir.
Birden çok gerçekleştirilmiş özellik aynı tabloları ve işlem hatlarını paylaşabildiğinden, bu paylaşılan kaynaklar bunlara başvuran tüm gerçekleştirilmiş özellikler silinene kadar kaldırılmaz. Bir tablo kümesini paylaşan son gerçekleştirilmiş özellik silindiğinde, arka plan işlemi aşağıdaki kaynakları otomatik olarak siler:
- Gerçekleştirilmiş özellik verilerini içeren çevrimdışı Delta tabloları
- Özelliklerin çevrimiçi bir mağazada gerçekleştirilmesi durumunda çevrimiçi tablolar
- Somutlaştırma işlem hattı
- Düzenleme işi
Bu arka plan işlemi, çalışma alanınızdaki tabloları, işlem hatlarını ve işleri silme de dahil olmak üzere bu temizleme eylemlerini sizin adınıza gerçekleştirmek için Databricks tarafından yönetilen bir sistem hizmet sorumlusu kullanır. Hiçbir işlem yapmanız gerekmez. Temizleme tamamen özellik deposu tarafından yönetilir.
Note
Bir gruptaki son materyalize edilmiş özelliğin silinmesi ile ilgili tabloların ve diğer kaynakların kaldırılması arasında kısa bir gecikme olabilir.
Gerçekleştirme durumunu görüntüleme
Databricks arayüzünde Özellik Görünümlerinizin maddeleşme durumunu görmek ve maddeleştirme hatalarını hata ayıklamak için Unity Kataloğunda Özellik Görünümlerini Keşfet'e bakınız.
Sınırlamalar
Toplu işlem özellikleri
- Toplu somutlaştırma işlem hatları, sunucusuz Lakeflow işlem hatları olarak çalışır.
- Toplu kayan pencere özellikleri,
Lastbölümünde açıklanan yalnızca çevrimiçi özel durum dışında somutlaştırılamaz. Çevrimdışı eğitim veya toplu tahmin için, her belirli zaman noktası sorgulaması için kaynak verilerden kayan pencere özellikleri hesaplanır. -
ColumnSelectionözellikleri yalnızca çevrimiçi mağazalarda gerçekleştirilebilir. -
RequestSource,FeatureViewSource, veCustomUDFözellikler maddileştirilemez. Bkz. İsteğe bağlı özellikler ve somutlaştırma. - Gerçekleştirilmiş özellikler yalnızca oluşturuldukları çalışma alanında silinebilir.
- Yalnızca bir maddeleştirilmiş özelliği oluşturan kullanıcı, Unity Kataloğu'nun bu özellik veya ana şeması üzerindeki ayrıcalıklarına bakılmaksızın onu silebilir.
- Materyalize edilmiş toplama özellikleri için çevrimiçi materyalize edilmiş özellik doğrudan silinemez. Eşleştirilmiş çevrimdışı malzemeleştirilmiş özellikleri silerseniz, değişiklik her iki özelliğe de yayılır.
- 20 Nisan 2026'dan önce oluşturulan materyalize edilmiş toplama özellikleri için, hattaki tüm materyalize edilmiş özellikler silinene kadar materyalizasyon hattı yeni özellik değerleri üretmeye devam eder ve bu da kaynak temizlemeyi tetikler. Özellik başına silmeyi destekleyen güncelleştirilmiş bir işlem hattı oluşturmak için özelliği silin ve yeniden maddeleştirin.
- Gerçekleştirilmiş
ColumnSelectionözellikler için, işlem hattındaki tüm gerçekleştirilmiş özellikler silinene kadar gerçekleştirme işlem hattı yeni özellik değerleri üretmeye devam eder ve bu da kaynak temizlemeyi tetikler.
Akış özellikleri
- Akış özellikleri yalnızca çevrimiçi mağazalara gerçekleştirilebilir. Eğitim sırasında akış özellikleri, milisaniye düzeyinde doğruluk sağlamak amacıyla her bir veri noktası için geçmiş olaylardan yeniden hesaplanacak şekilde tasarlandığından, çevrimdışı materyalizasyona gerek yoktur.
- Akış özellikleri, tek bir
materialize_featuresçağrısında toplu iş özellikleriyle karıştırılamaz. -
compute_featuresakış özelliklerini desteklemez. - Çalışma alanı, Lakebase örneklerini destekleyen bir bölgede olmalıdır.
- Kafka mesajları JSON, Avro veya Protobuf kullanabilir. Şema gereksinimleri ve şema kaydı sınırlamaları için bkz. Şema kaydı.
- Akış toplama özellikleri için yalnızca
RollingWindowveSawtoothWindowdesteklenir.TumblingWindowveSlidingWindowtoplu iş özellikleriyle kullanılmalıdır. Akış özellikleri için Zaman Pencerelerine bakınız. - Yalnızca
Count,Avg,Sum,StddevPop,Max,Min,FirstNLastLastNFirstFirstDistinctveLastDistincttoplama fonksiyonları yayın özellikleri için desteklenir. - Akış kaynaklarından sütun seçme özellikleri, sırası bozuk iletileri işleyemez. Zaman aralıkları sütun değeri daha önce alınan bir olaydan önce olsa bile Kafka akışındaki en son olay gösterilir.
- Akış işlem hatları haftada iki kez yeniden başlatılır. Her yeniden başlatma işlemi gecikmelere ve 1 dakikaya kadar başlatma sürelerine neden olabilir. Yeniden başlatmalar hariç, p99'un güncelliği 200ms'dir.
- Gerçekleştirme için özellik geri doldurma desteklenmez. Bir özellik somutlaştırıldığında, o noktadan itibaren hesaplanır. Çevrimiçi mağazada yeni oluşturulan toplulaştırmalar, zaman pencereleri dolana kadar doğru değildir.
- Yalnızca Databricks Online Özellik Deposu desteklenir.
- Akışlı somutlaştırma işlem hatları, sunucusuz Lakeflow işlem hatları olarak çalıştırılır.