Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Po vytvoření definic zobrazení funkcí, které jsou uložené v katalogu Unity, můžete pomocí definic funkcí vytvořit data funkcí ze zdrojové tabulky. Tento proces se nazývá materializace vašich funkcí. Azure Databricks vytváří a spravuje kanály Lakeflow pro naplnění tabulek v katalogu Unity pro trénování modelů a dávkové vyhodnocování nebo online obsluhu.
Informace o poskytování zobrazení funkcí naleznete v tématu Obsluha zobrazení funkcí.
Pro odstranění materializovaných hodnot pro vybrané entity viz Odstranit hodnoty funkcí pro entity.
Požadavky
- Funkce musí být vytvořeny jako zobrazení funkcí a uloženy v katalogu Unity.
- Požadavky na verzi najdete v tématu Požadavky.
Podpora materializace podle typu prvku
Zda a kde lze nějakou vlastnost materializovat, závisí na jejím typu:
-
ColumnSelectionfunkce lze materializovat do online obchodů. Viz materializace ColumnSelection. - Dávkové
Lastfunkce s aRollingWindowlze realizovat v online obchodech. Viz Materializace nejnovějších hodnot omezených čerstvostí. -
RequestSource,FeatureViewSourceaCustomUDFprvky nelze materializovat. Viz Funkce na vyžádání a materializace.
Funkce, které se objevují pouze v online obchodech, jsou stále použitelné offline: create_training_set a compute_features vypočítávají své aktuální hodnoty přímo ze zdroje, takže offline materializace není potřeba.
Materializace výběru sloupce
ColumnSelection funkce umožňují výběr nejnovější hodnoty jediného sloupce pro každý klíč entity bez použití agregace. Mohou být materializovány pouze do online obchodů. Pro případy použití offline (trénování a dávkové odvozování) ColumnSelection se funkce načítají přímo ze zdrojových dat v době dotazu, takže offline materializace není nutná.
Činnost materializace
- Kanál zapíše poslední řádek pro klíč entity do online tabulky bez okna agregace.
- Online materializace naplní online tabulku aktuální nejnovější hodnotou pro každé klíč entity.
Příklad
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 funkce používají TableTrigger, který spouští kanál pokaždé, když zdrojová tabulka Delta obdrží nové potvrzení. Není potřeba offline_config, protože funkce ColumnSelection se čtou přímo ze zdroje pro offline použití (trénování a dávkové odvozování).
Note
RequestSource funkce nelze materializovat, protože představují data poskytnutá volajícím v době odvozování (nebo extrahované z označeného datového rámce v době trénování). Neexistuje žádná zdrojová tabulka, ze které by bylo potřeba číst. Hodnoty existují pouze v datové části požadavku nebo trénovacím datovém rámci.
Materializace nejnovějších hodnot s omezenou dobou platnosti
Dávková Last agregace s RollingWindow dává online atributu dobu životnosti (TTL): jeho hodnota v online úložišti vyprší, pokud do daného okna nespadá žádná zdrojová hodnota. To je užitečné, když doba od vytvoření hodnoty určuje, zda je bezpečné ji poskytnout. Například stav zařízení z poslední hodiny lze vrátit, zatímco starší stav se vyhodnotí jako null namísto toho, aby zůstával k dispozici neomezeně dlouho.
A RollingWindow definuje explicitní délku, která dává vlastnosti chování podobné TTL. Například pokud zdroj zveřejňuje hodnoty denně a chcete si ponechat pouze hodnoty z posledních sedmi dnů, použijte a RollingWindow s sedmidenní trvací dobou. Při každém spuštění materializace zcela nahradí online tabulku, takže hodnoty, které nespadají do tohoto okna, jsou odstraňovány podle předvídatelného harmonogramu. To poskytuje stejný výsledek jako streamování Last s RollingWindow, ale je levnější, protože neprovádí výpočty nepřetržitě.
Tento vzor publikování je podobný tabulce příznaků s TTL, která je publikována v režimu snapshotu. Pokud udržujete sadu tabulek funkcí a chcete je používat spolu s dalšími Feature Views, můžete je přizpůsobit frameworku pro tvorbu Feature Views. Použijte dávku Last s RollingWindow a TableTrigger.
Tato kombinace má speciální režim materializace pouze online s následujícími požadavky:
- Zdroj musí být
DeltaTableSource. - Agregační funkce musí být
Last, a její okno musí být .RollingWindow - Materializace musí poskytnout
OnlineStoreConfig, vynechatOfflineStoreConfiga použítTableTrigger.
V následujícím příkladu je registrovaná vlastnost, latest_device_state_1h která splňuje tyto požadavky:
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(),
)
Pro offline trénink a dávkové skórování klient feature engineering vypočítává hodnotu v daném okamžiku přímo ze zdroje. Nenačítá offline materializaci pro tuto funkci.
Considerations
- Platnost se prodlužuje pouze při spuštění triggeru. Hodnota online a doba její expirace se posunou vpřed, když commit zdrojové tabulky spustí obnovení materializace. Samotný plynutí času nevyvolá obnovení. Pokud zdrojový kód přestane publikovat, poslední materializovaná hodnota zůstává v online obchodě až do pozdějšího commitu, který spustí obnovení.
- Zarovnejte sloupec časových řad s časem publikace ve zdroji. Sloupec časových řad musí odrážet, kdy zdroj data zveřejnil. Jinak se online a offline hodnoty rozcházejí, protože online úložiště provádí spojení v čase triggeru, zatímco offline čtení dat provádí spojení v čase časové řady.
- Nastavte délku okna na násobek frekvence publikace. Pokud trvání
RollingWindownení násobkem publikačního intervalu zdroje, některé hodnoty jsou během offline tréninku považovány za expirované, i když jsou online stále viditelné.
Funkce na vyžádání a realizace
RequestSource hodnoty pocházejí z trénovacího DataFrame nebo požadavku na inferenci, takže není potřeba vytvořit zdrojovou tabulku.
FeatureViewSource Vlastnosti aplikují A CustomUDF na hodnoty vyšších vlastností během výcviku nebo servisu. Neukládají předpočítaný výsledek. Materializace také není podporována pro funkce CustomUDF, které jsou založené na tabulce Delta.
Pro graf závislostí, jako jsou revenue_sum_7d a cost_sum_7d, které vstupují do funkce margin:
- Pro offline školení zavolejte na
create_training_setpomocímargin. Řeší nadřazené příznaky a počítá hodnoty k danému časovému okamžiku, přičemž využívá kompatibilní offline materializované výsledky, pokud jsou k dispozici. - Pro online prodej přeneste podporované příjmové a nákladové funkce do online obchodu. Koncový bod je vyhledá a pro každý požadavek vypočítá
margin. - Předejte do
materialize_featurespouze podporované funkce upstreamu, nikoli domarginani žádné funkce založené na požadavku. Materializace nematerializuje rekurzivně závislosti odvozené vlastnosti.
Graf, který používá pouze funkce založené na požadavcích, nepotřebuje online obchod. Vizte Trénování s funkcemi FeatureViewSource a Poskytování odvozených funkcí.
Povolení
Materializace vyžaduje oprávnění na funkci a na zdrojové a cílové zdroje. Pro úplné popisy privilegií Unity Catalog viz odkaz na Unity Catalog privileges.
Materializace funkce vyžaduje
MANAGE. Volánímaterialize_featuresvytváří a spravuje podkladové Lakeflow pipeline a tabulky Unity Catalog, takže jde o manažerskou operaci. Abyste mohli přečíst definici funkce, která se materializuje, musíte mít u funkceMANAGEspolu sREAD FEATURE.Smazání materializované funkce je omezeno na její tvůrce. Pouze uživatel, který vytvořil materializovanou funkci, ji může smazat pomocí
delete_materialized_feature. Toto omezení je nezávislé na oprávněních Unity Catalog:MANAGEna funkci nebo jejím rodičovském schématu neumožňuje jinému uživateli jej smazat.Čtení zdrojových dat vyžaduje
SELECT. Pro prvek, který používá zdrojový kód v Delta tabulce, musíte mítSELECTna zdrojové tabulce. Pro funkci, která používá zdroj typu Stream, musíte mít na ingestovací tabulce Streamu oprávněníSELECT.Pro další oprávnění požadovaná autentizační konfigurací Streamu viz Kafka autentizace.
Vytvoření cílových tabulek vyžaduje
CREATE TABLE. U každého schématu zadaného pomocíOfflineStoreConfigneboOnlineStoreConfigmusíte mítCREATE TABLE. Offline i online destinace mohou být v různých schématech nebo katalozích a materializace vyžaduje oprávnění na každém cílovém místě.K zavedení do internetového obchodu je potřeba
CAN USE. Musíte mítCAN USEv instanci nebo projektu Lakebase, které používá online obchod. Informace o oprávněních Lakebase najdete v článku Udělit oprávnění projektů.Výpis materializovaných funkcí vyžaduje
READ FEATUREu nadřazené funkce. Abyste mohli použítlist_materialized_features, musíte mítREAD FEATUREu funkce, která byla materializována.Čtení materializovaných dat vyžaduje
SELECT. Musíte mítSELECTna každé offline nebo online výstupní tabulce, ke které přistupujete.READ FEATUREu nadřazené funkce neposkytuje přístup k těmto tabulkám.
Pro každý prostředek Unity Catalog použitý při materializaci také potřebujete USE CATALOG na jeho nadřazeném katalogu a USE SCHEMA na jeho nadřazeném schématu. Tento požadavek se vztahuje na funkci, každý zdroj nebo tabulku příjmu streamu a každý konfigurovaný cíl.
READ FEATURE a MANAGE udělené pro schéma nebo katalog se vztahují na všechny stávající i budoucí objekty, které obsahují.
Datové struktury rozhraní API
OfflineStoreConfig
Konfigurace offline úložiště, kam budou zapsány materializované vlastnosti. Když je materialize_features zavolán, back-end úložiště funkcí vytvoří tabulky pomocí této předpony. Každé spuštění potrubí materializuje nejnovější hodnoty vlastností do tabulky podle harmonogramu materializace.
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
Konfigurace pro online úložiště, ve kterém jsou uložené funkce používané modelem obsluhy. Materializace vytvoří tabulky Delta pomocí catalog.schema.table_name_prefix a streamuje je do Online Feature Store se stejným názvem.
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
Představuje zobrazení funkcí, které bylo materializováno, to znamená, že má předem určenou reprezentaci dostupnou v katalogu Unity. Pro offline tabulku a online tabulku existují samostatné materializované funkce. Uživatelé obvykle nebudou instancovat MaterializedFeature přímo.
Volání funkcí rozhraní API
materialize_features()
Materializuje seznam zobrazení funkcí do offline tabulky Delta nebo do online úložiště funkcí. Před voláním této funkce (například pomocí create_feature nebo register_feature) musí být funkce zaregistrovány v katalogu Unity. Místně vytvořené funkce, které nebyly zaregistrovány, nebudou fungovat.
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]:
Metoda vrátí seznam materializovaných funkcí, které obsahují metadata o tom, kdy jsou hodnoty funkcí aktualizovány, a tabulky Katalogu Unity, kde jsou prvky materializovány.
Pokud jsou obě funkce OnlineStoreConfig a OfflineStoreConfig k dispozici, vrátí se dvě materializované funkce pro každou poskytnutou funkci, jedna pro každý typ úložiště.
Parametr trigger řídí při spuštění kanálu materializace:
-
CronSchedule: Běží podle plánu odvozeného z časování funkce nebo podle harmonogramu Quartz cron zadaného volajícím. Podporováno pro funkce hromadné agregace (AggregationFunctionzDeltaTableSource). -
TableTrigger: Spustí se, když upstreamová tabulka Delta obdrží potvrzení. Podporováno pro funkceColumnSelectiona agregační funkce (AggregationFunction) podporované pomocíDeltaTableSource. U funkcí agregace je frekvence spouštění pipeline omezena tak, aby běžela nejvýše jednou za polovinu granularity dané funkce (dobu posuvu u posuvného okna nebo délku okna u překlápěcího okna), přičemž horní limit je 1 hodina a pipeline se nikdy nespouští častěji než každých 5 minut. Například maximálně jednou za 30 minut při granularitě 1 hodiny, nebo maximálně jednou za hodinu při granularitě 2 hodiny a více. Interval se počítá od předchozího spuštění, takže commit, který dorazí po uplynutí intervalu, i tak neprodleně spustí běh. -
StreamingMode: Spouští se jako kanál průběžného streamování. Vyžadováno pro funkce, které jsou podporovány funkcíStreamSource.
V jednom materialize_features volání nelze kombinovat funkce, které vyžadují různé typy triggerů. Místo toho proveďte samostatná volání.
Chcete-li přiřadit náklady na materializaci, předejte tags, budget_policy_id nebo obojí. Azure Databricks je aplikuje na úlohu nebo pipeline, které vytvoří, takže náklady s nimi spojené nesou vaši atribuci v systémové tabulce fakturovatelného využití. Obě se aplikují při vzniku, takže odlišné přiřazení existující materializace znamená vytvoření nové.
budget_policy_id přijímá ID zásady využití serverless. Informace o tom, jak ji vytvořit a získat její ID, najdete v části Vytvoření zásady pro bezserverové využití. Informace o limitech tagů, zdrojích, na které se jednotlivé hodnoty vztahují, a o tom, jak se dotazovat na přiřazené náklady, najdete v tématu Správa nákladů ve Feature Store.
Materializace do offline úložiště
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",
),
)
Zpřístupnit v online obchodě
Note
Abyste mohli většinu agregačních funkcí zařadit do online obchodu, musíte také navštívit kamenný obchod. Obě offline_config a online_config jsou povinné.
online_store_name musí odkazovat na existující online Feature Store. Pokyny k jeho vytvoření najdete v tématu Databricks Online Feature Stores.
ColumnSelection funkce nevyžadují OfflineStoreConfig. Viz materializace ColumnSelection.
Dávka Last se speciálním případem RollingWindow je také dostupná pouze online. Viz Materializace nejnovějších hodnot omezených čerstvostí.
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",
),
)
Materializace funkcí streamování
Funkce streamování lze materializovat pouze do online obchodů; parametr offline_config není podporován. Offline materializace není podporována, protože streamovací funkce vyžadují pipeline v reálném čase, aby byla zajištěna aktuálnost kratší než jedna sekunda. V případě offline trénování nebo vyhodnocení klient přípravy funkcí znovu zkompiuje hodnoty funkcí na základě vyhodnocených datových bodů.
Funkce streamování se nedají kombinovat s dávkovými funkcemi ve stejném materialize_features volání.
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()
Vrátí materializace jednoho atributu identifikovaného jeho úplným názvem.
feature_name je povinný a lze jej zadat pouze jako pojmenovaný argument. Chcete-li zkontrolovat materializace napříč mnoha funkcemi, nejprve vypište seznam funkcí v katalogu nebo ve schématu a poté na každé vrácené funkci zavolejte list_materialized_features.
Ve výchozím nastavení se vrátí maximálně 100 materializací. Tento limit můžete změnit pomocí parametru max_results .
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()
Před odstraněním materializované funkce odeberte nebo aktualizujte všechny modely nebo specifikace funkcí, které na tuto funkci odkazují.
Odstraní materializovanou vlastnost. Funkce, která se má předat, závisí na typu funkce:
-
Funkce agregace: Předání offline materializované funkce Pokud existuje online materializovaná funkce pro stejnou funkci, obě se odstraní. Pro dávkovou funkci pouze online s
RollingWindow, předejte online materializovanou funkciLast. -
ColumnSelectionfunkce: Předejte online materializovanou funkci.ColumnSelectionvlastnosti jsou materializovány pouze v online obchodě (viz materializace ColumnSelection), takže neexistuje žádná propojená offline vlastnost.
V rámci materializace jsou funkce seskupené podle zdroje dat a časového intervalu agregace pro zajištění efektivity.
ColumnSelection funkce nemají žádné okno agregace, takže jsou seskupené pouze podle zdroje dat. Kanál materializace, offline tabulka a online tabulka se neodstraní, dokud se neodstraní všechny seskupené vlastnosti. Když se odstraní poslední materializovaná funkce ve skupině, úložiště funkcí naplánuje přidružené prostředky pro automatické vyčištění procesem na pozadí. Viz Vyčištění prostředků na pozadí.
Pokud chcete vyčistit materializované funkce, podívejte se na tabulku přidruženou k materializované funkci. Před vyčištěním výpočetních prostředků a prostředků tabulky Delta je nutné odstranit každou funkci v tabulce (jednu na sloupec).
Použijte list_materialized_features() k získání argumentu materialized_feature.
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)
Čištění prostředků na pozadí
Když odstraníte materializovanou funkci, Databricks okamžitě odebere metadata funkce. Přidružená infrastruktura (tabulky, kanály a úlohy) se asynchronně vyčistí procesem na pozadí.
Vzhledem k tomu, že více materializovaných prvků může sdílet stejné tabulky a kanály zpracování, tyto sdílené prostředky se neodstraní, dokud nebude odstraněn každý materializovaný prvek, který na ně odkazuje. Když se odstraní poslední materializovaná funkce sdílející sadu tabulek, proces na pozadí automaticky odstraní následující prostředky:
- Offline tabulky Delta obsahující materializovaná data funkcí
- Online tabulky, pokud byly funkce materializovány do online obchodu
- Kanál materializace
- Orchestrační úloha
Tento proces na pozadí používá instanční objekt systému spravovaný službou Databricks k provedení těchto akcí čištění vaším jménem, včetně odstranění tabulek, kanálů a úloh ve vašem pracovním prostoru. Od vás není nutná žádná akce. Čištění je plně spravováno úložištěm funkcí.
Note
Mezi odstraněním poslední materializované funkce ve skupině a odebráním přidružených tabulek a dalších prostředků může dojít k krátké prodlevě.
Zobrazení stavu materializace
Chcete-li v uživatelském rozhraní Databricks zobrazit stav materializace svých Feature Views a ladit chyby materializace, přečtěte si Explore Feature Views in Unity Catalog.
Omezení
Funkce služby Batch
- Kanály pro dávkovou materializaci běží jako bezserverové pipeline Lakeflow.
- Funkce dávkového rolovacího okna nelze materializovat, kromě speciálního případu pouze online
Lastpopsaného v Materialize freshness-bounded latest values. Pro offline trénink nebo dávkovou inferenci se prvky rolling window počítají ze zdrojových dat pro každé bodové vyhledávání. -
ColumnSelectionfunkce lze implementovat pouze do online obchodů. -
RequestSource,FeatureViewSourceaCustomUDFprvky nelze materializovat. Viz Funkce na vyžádání a materializace. - Materializované funkce je možné odstranit pouze v pracovním prostoru, ve kterém byly vytvořeny.
- Pouze uživatel, který vytvořil materializovanou funkci, ji může smazat, bez ohledu na oprávnění Unity Catalog na této funkci nebo její nadřazené schéma.
- U materializovaných agregačních funkcí nelze online materializovanou funkci odstranit přímo. Odstraňte spárovanou offline materializovanou vlastnost a změna se rozšíří na obě strany.
- U materializovaných agregačních funkcí vytvořených před 20. dubnem 2026 kanál materializace pokračuje v vytváření nových hodnot funkcí, dokud nebudou odstraněny všechny materializované funkce v kanálu, což aktivuje vyčištění prostředků. Chcete-li vytvořit aktualizovaný kanál, který podporuje odstranění jednotlivých funkcí, odstraňte a znovu zmaterializujte funkci.
- U materializovaných
ColumnSelectionfunkcí kanál materializace pokračuje ve vytváření nových hodnot funkcí, dokud nebudou odstraněny všechny materializované funkce v kanálu, což aktivuje vyčištění prostředků.
Funkce streamování
- Funkce streamování je možné materializovat pouze do online obchodů. Offline materializace není nutná, protože funkce streamování v době trénování jsou navržené tak, aby byly přepočítané z historických událostí na datový bod, aby poskytovaly přesnost na úrovni milisekund.
- Funkce streamování nelze kombinovat s dávkovými funkcemi v jednom
materialize_featuresvolání. -
compute_featuresnepodporuje funkce streamování. - Pracovní prostor musí být v oblasti, která podporuje instance Lakebase.
- Zprávy Kafka mohou používat JSON, Avro nebo Protobuf. Pro požadavky na schémata a omezení registru schémat viz registr schémat.
- Pro funkce agregace streamování jsou podporovány pouze
RollingWindowaSawtoothWindow.TumblingWindowaSlidingWindowměly by být použity s funkcemi batch. Viz Časová okna pro streamovací funkce. - Pro streamovací funkce jsou podporovány pouze agregační funkce
StddevPop,FirstDistinct,Last,LastN,First,FirstN,Min,Max,LastDistinct,Sum,AvgaCount. - Funkce výběru sloupců ze streamovaných zdrojů nezpracují zprávy mimo pořadí. Zobrazí se nejnovější událost streamu Kafka, i když je hodnota sloupce timeseries starší než dříve přijatá událost.
- Kanály streamování se restartují dvakrát týdně. Každé restartování může způsobit zpoždění zpracování a dobu spuštění až 1 minutu. S výjimkou restartování je aktuálnost p99 200 ms.
- Backfill pro materializaci není podporován. Když se prvek materializuje, počítá se od tohoto okamžiku dál. Nově vytvořené agregace v internetovém obchodě jsou nepřesné, dokud neuplyne jejich časové okno.
- Podporována je pouze služba Databricks Online Feature Store.
- Kanály pro materializaci streamovaných dat fungují jako bezserverové kanály Lakeflow.