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.
Önemli
Bu özellik Genel Önizleme aşamasındadır. Çalışma alanı yöneticileri Bu özelliğe erişimi Önizlemeler sayfasından denetleyebilir. Bkz. Azure Databricks önizlemelerini yönetme.
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.
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.
-
ColumnSelectionözellikleri çevrimiçi mağazalarda somutlaştırılabilir. Bkz. ColumnSelection materyalizasyon. -
RequestSourceözellikler çıkarım zamanında sağlanan verileri temsil ettiğinden gerçekleştirilemez.
Permissions
Materyalleştirme, özellik üzerindeki MANAGE ve READ FEATURE Unity Catalog ayrıcalıklarıyla etkileşime girer. Ayrıcalıkların tam açıklamaları için bkz.: READ FEATURE.
- Bir özelliğin gerçekleştirilmesi için
MANAGEgerekir.materialize_featuresveyadelete_materialized_featureçağrılması, arka plandaki Lakeflow işlem hatlarını ve Unity Catalog tablolarını oluşturup yönettiğinden, 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ış verilerin okunması için
READ FEATUREgerekir.READ FEATUREözelliğinde, onu destekleyen çevrimdışı ve çevrimiçi tablolara erişim verir, böylece model eğitimi ve sunum için gerçekleştirilmiş verileri kullanabilirsiniz.list_materialized_featuresayrıca gerektirirREAD FEATURE.
Her Unity Catalog nesnesinde olduğu gibi, üst katalogda USE CATALOG ve üst şemada USE SCHEMA iznine de ihtiyacınız vardır.
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(
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
) -> 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: Sabit bir zamanlamaya göre çalışır. (AggregationFunction-DeltaTableSourcearası) toplu birleştirme özellikleri için gereklidir. -
TableTrigger: Yukarı akış Delta tablosu bir işleme aldığında çalışır.ColumnSelectiontarafından desteklenenDeltaTableSourceözellikler için gereklidir. -
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.
Ç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
Toplama işlevlerini çevrimiçi bir mağazada somutlaştırmak için çevrimdışı bir mağazada da somutlaştırmanı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.
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()
Kullanıcının Unity Kataloğu meta veri deposundaki tüm gerçekleştirilmiş özelliklerin listesini döndürür.
Varsayılan olarak en fazla 100 özellik döndürülür. parametresini max_results kullanarak bu sınırı değiştirebilirsiniz.
Döndürülen gerçekleştirilmiş özellikleri bir özellik adına göre filtrelemek için isteğe bağlı feature_name parametresini kullanın.
FeatureEngineeringClient.list_materialized_features(
feature_name: Optional[str] = None, # Optional feature name to filter by
max_results: int = 100, # Maximum number of features to be returned
) -> 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.
-
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
from databricks.feature_engineering.entities import ColumnSelection
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:
feature = fe.get_feature(full_name=name)
for mf in fe.list_materialized_features(feature_name=name):
if isinstance(feature.function, ColumnSelection):
# ColumnSelection features only have online materializations. Delete the online materialized feature directly.
fe.delete_materialized_feature(materialized_feature=mf)
elif not mf.is_online:
# Aggregation features have both offline and online materializations. Delete the offline materialized feature to delete both.
fe.delete_materialized_feature(materialized_feature=mf)
# Online materialized aggregation features cannot be deleted directly. They are deleted via their paired offline materialized features.
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.
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.
Sınırlamalar
Toplu işlem özellikleri
- Toplu somutlaştırma işlem hatları, sunucusuz Lakeflow işlem hatları olarak çalışır.
- Toplu işlem kayan pencere özellikleri oluşturulamaz. Yüksek zaman doğruluğu nedeniyle, çevrimdışı eğitim veya toplu çıkarım için döngüsel pencere özellikleri her veri noktası için hızlıca oluşturulabilir.
-
ColumnSelectionözellikleri yalnızca çevrimiçi mağazalarda gerçekleştirilebilir. -
RequestSourceözellikleri gerçekleştirilemez. - Gerçekleştirilmiş özellikler yalnızca oluşturuldukları çalışma alanında silinebilir.
- 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.
- Yalnızca JSON seri hale getirilmiş Kafka iletileri desteklenir. İleti şemaları doğrudan JSON Şeması biçiminde sağlanmalıdır. Şema kayıt defterleri (Confluent, Glue) önizleme sırasında resmi olarak desteklenmez, ancak şemayı doğrudan sağlarsanız, işlem hatları şema kayıt defteri tarafından yönetilen konulardan okuyabilir.
- Yalnızca
RollingWindowakış toplama özellikleri için desteklenir.TumblingWindowveSlidingWindowtoplu iş özellikleriyle kullanılmalıdır. - Akış özellikleri için yalnızca
Count,AvgSumStddevPopMax,MinveLasttoplama işlevleri 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.
- Yalnızca kendi bulut nesne depolama alanınızda oluşturulan Unity Kataloğu'ndaki standart kataloglar desteklenir. Varsayılan depolama alanında oluşturulan kataloglar kullanılamaz.
- Akışlı somutlaştırma işlem hatları, sunucusuz Lakeflow işlem hatları olarak çalıştırılır.
- Yalnızca kurumsal katman çalışma alanları.