Referenční informace o vlastnostech kanálu

Referenční informace o nastavení konfigurace JSON kanálu a vlastnostech tabulky Další podrobnosti o používání těchto vlastností a konfigurací najdete v následujících článcích:

Konfigurace kanálů Lakeflow a deklarativní kanály Apache Sparku™

Kanály Lakeflow jsou založené na deklarativních kanálech Apache Sparku™ (SDP). Konfigurace kanálu je z velké části nadmnožinou specifikace projektu SDP. Jsou zaznamenány rozdíly v využití vlastností mezi kanály SDP a Lakeflow. Porovnání možností, které kanály Lakeflow a sdílená složka SDP nabízí, najdete v deklarativních kanálech Apache Sparku.

Jak nastavit vlastnosti

Většinu vlastností pipeline nastavujete jedním z následujících způsobů:

  • Pipeline JSON nebo YAML: Přidejte vlastnost do specifikace pipeline, buď v nastavení pipeline, nebo v konfiguračním souboru Declarative Automation Bundles. Nastavení na úrovni pipeline, jako catalog, channel, a jsou edition nastavena tímto způsobem.
  • Objektconfiguration: Vlastnosti konfigurace Spark (vlastnosti s předponou pipelines.) lze nastavit pro celý pipeline přidáním do objektu configuration ve specifikaci pipeline. Viz Konfigurace kanálů.
  • SQL: V SQL zdrojovém souboru nastavte konfigurační vlastnost Spark pro následující datové sady s .SET
  • Python: V Python zdrojovém souboru nastavte konfigurační vlastnost Spark na jednotlivé datové sadě s argumentem spark_conf dekorátora datové sady.

Nastavení vlastnosti v SQL nebo Python ji aplikuje na úrovni datové sady, což přepisuje hodnotu na úrovni pipeline z objektuconfiguration. Ne každá vlastnost podporuje každou metodu: nastavení na úrovni pipeline lze nastavit pouze ve specifikaci, zatímco konfigurační vlastnosti Sparku lze nastavit buď na úrovni pipeline, nebo datasetu.

Konfigurace kanálů

  • id

    Typ: string

    Globálně jedinečný identifikátor pro tento kanál. Identifikátor je přiřazen systémem a nelze ho změnit.

    Pouze kanály Lakeflow. SDP nepřiřazuje identifikátor kanálu.

  • name

    Typ: string

    Uživatelsky přívětivý název tohoto kanálu. Název lze použít k identifikaci úloh kanálu v uživatelském rozhraní.

    K dispozici v protokolu SDP jako povinné name pole

  • configuration

    Typ: object

    Volitelný seznam nastavení pro přidání do konfigurace Sparku clusteru, který kanál spouští. Tato nastavení se čtou modulem runtime kanálu a jsou dostupná pro dotazy kanálu prostřednictvím konfigurace Sparku.

    Prvky musí být formátované jako dvojice znaků key:value.

    K dispozici v protokolu SDP jako configuration

  • parameters

    Typ: object

    Important

    Tato funkce je v beta verzi. Správci pracovního prostoru můžou řídit přístup k této funkci ze stránky Previews . Viz Manage Azure Databricks preview.

    Volitelná mapa párů klíč-hodnota, na které zdrojový kód kanálu může odkazovat pomocí pojmenované syntaxe parametru (například :source_catalog). Pomocí parametrů můžete opakovaně používat stejný zdrojový kód kanálu napříč prostředími nebo datovými sadami bez úprav zdroje.

    Klíče můžou obsahovat alfanumerické znaky, podtržítka (_), pomlčky (-) a tečky (.). Hodnoty jsou vždy řetězce.

    Tato výchozí nastavení můžete přepsat při spuštění aktualizace, úlohy kanálu v úloze nebo pomocí parametrů úlohy pushed-down. Na parametry kanálu lze odkazovat pouze ze zdrojového kódu SQL. Viz Použití parametrů v pipelinech.

    Pouze kanály Lakeflow

  • libraries

    Typ: array of objects

    Pole souborů kódu obsahujících kód kanálu a požadované artefakty.

    K dispozici v protokolu SDP jako libraries, zadaný jako seznam vzorů globu zdrojového souboru, nikoli pole objektů souboru kódu

  • clusters

    Typ: array of objects

    Pole specifikací pro clustery ke spuštění kanálu.

    Pokud není zadaný, kanály automaticky vyberou výchozí konfiguraci clusteru pro kanál.

    Pouze kanály Lakeflow. SDP nespravuje výpočetní prostředky

  • development

    Typ: boolean

    Příznak označující, jestli se má kanál spustit v režimu development nebo v režimu production.

    Výchozí hodnota je false.

    Pouze kanály Lakeflow

  • notifications

    Typ: array of objects

    Volitelné pole specifikací pro e-mailová oznámení, pokud se aktualizace pipeline dokončí, selže s chybou, kterou lze opakovat, selže s chybou, kterou nelze opakovat, nebo pokud selže tok.

    Pouze kanály Lakeflow

  • continuous

    Typ: boolean

    Příznak udávající, zda má být pipeline provozována nepřetržitě.

    Výchozí hodnota je false.

    Pouze kanály Lakeflow

  • catalog

    Typ: string

    Název výchozího katalogu pro kanál, kde jsou publikovány všechny datové sady a metadata kanálu. Nastavením této hodnoty povolíte katalog Unity pro datový tok.

    Pokud není nastaveno, datový tok se publikuje do zastaralého metastore Hive pomocí umístění zadaného v storage.

    V režimu původního publikování určuje katalog obsahující cílové schéma, kde jsou publikovány všechny datové sady z aktuální pipeliny. Viz LIVE schema (starší verze).

    K dispozici v protokolu SDP jako catalog

  • schema

    Typ: string

    Název výchozího schématu kanálu, kde jsou ve výchozím nastavení publikovány všechny datové sady a metadata kanálu. Viz Nastavení cílového katalogu a schématu.

    K dispozici v protokolu SDP jako database, který také přijímá alias schema

  • target (starší verze)

    Typ: string

    Název výchozího schématu kanálu, kde jsou ve výchozím nastavení publikovány všechny datové sady a metadata kanálu. Místo toho schema je upřednostňované použitítarget.

    Pouze kanály Lakeflow

  • storage (starší verze)

    Typ: string

    Umístění v DBFS nebo cloudovém úložišti, kde se ukládají výstupní data a metadata požadovaná ke spuštění kanálu. Tabulky a metadata jsou uloženy v podadresářích tohoto umístění.

    storage Pokud není nastavení zadáno, systém ve výchozím nastavení nastaví umístění v dbfs:/pipelines/.

    Nastavení storage nelze po vytvoření pipeline změnit.

    K dispozici v protokolu SDP jako povinné storage pole. V kanálech storage Lakeflow je starší nastavení.

  • channel

    Typ: string

    Verze modulu runtime kanálu, který se má použít. Podporované hodnoty jsou:

    • preview otestovat řetězec s nadcházejícími změnami verze prostředí runtime.
    • current pro použití aktuální verze runtime.

    Pole channel je volitelné. Výchozí hodnota je current. Databricks doporučuje použít aktuální verzi modulu runtime pro produkční úlohy.

    Pouze kanály Lakeflow

  • edition

    Typ string

    Edice produktu pro spuštění kanálu. Toto nastavení umožňuje zvolit nejlepší edici produktu na základě požadavků vašeho kanálu:

    • CORE pro spouštění úloh zpracování datového proudu.
    • PRO ke spouštění úloh pro ingestování streamování a zachytávání změn v datech (CDC).
    • ADVANCED ke spouštění úloh streamování ingestací, úloh CDC (Change Data Capture) a úloh, které vyžadují splnění očekávání za účelem vynucení omezení kvality dat.

    Pole edition je volitelné. Výchozí hodnota je ADVANCED.

    Pouze kanály Lakeflow

  • photon

    Typ: boolean

    Příznak označující, jestli se má kanál spustit pomocí funkce Co je Photon? Photon je vysoce výkonný modul Spark pro Azure Databricks. Kanály s podporou foton se účtují jinou sazbou než kanály bez foton.

    Pole photon je volitelné. Výchozí hodnota je false.

    Pouze kanály Lakeflow

  • serverless

    Typ: boolean

    Příznak označující, jestli kanál používá bezserverové výpočetní prostředky. Viz Konfigurace bezserverového kanálu.

    Pouze kanály Lakeflow

  • event_log

    Typ: object

    Konfigurace pro cíl protokolu událostí kanálu, jako objekt s namecatalog, a schema pole, která publikují protokol událostí do tabulky Katalogu Unity. Viz protokol událostí kanálu.

    Pouze kanály Lakeflow

  • tags

    Typ: object

    Volitelná mapa značek definovaných uživatelem pro kanál. Můžete přidat maximálně 25 značek.

    Pouze kanály Lakeflow

  • budget_policy_id

    Typ: string

    ID bezserverové zásady rozpočtu, které se mají použít pro tento kanál, sloužící k atributu bezserverového využití pro sledování nákladů. Toto pole se zobrazí v konfiguraci JSON nebo YAML pouze v případě, že explicitně nastavíte zásadu. Pokud není nastavená, Azure Databricks automaticky vyřeší výchozí zásadu. Vyřešené zásady se zobrazují v uživatelském rozhraní nastavení kanálu, ale nezapisuje se do konfigurace JSON nebo YAML.

    Pouze kanály Lakeflow

  • root_path

    Typ: string

    Kořenová cesta kanálu. Při nastavení se tento adresář přidá při sys.path spouštění Python zdrojových souborů, takže moduly je možné importovat vzhledem k němu.

    Pouze kanály Lakeflow

  • environment

    Typ: object

    Specifikace prostředí použitá k instalaci Python závislostí kanálu.

    Pouze kanály Lakeflow

  • pipelines.maxFlowRetryAttempts

    Typ: int

    Pokud během aktualizace kanálu dojde k opakovanému selhání, je to maximální počet opakování toku před selháním aktualizace kanálu.

    Použijte to k vázání opakování v jednom toku, který je náchylný k opakovaným selháním, aby nemohl zastavit celou aktualizaci.

    Výchozí nastavení: Dva pokusy o opakování. Pokud dojde k opakované chybě, modul runtime kanálu se pokusí tok spustit třikrát, včetně původního pokusu.

    Pouze kanály Lakeflow

  • pipelines.numUpdateRetryAttempts

    Typ: int

    Pokud během aktualizace dojde k opakovanému selhání, je to maximální počet opakování aktualizace před trvalým selháním aktualizace. Opakování se spustí jako úplná aktualizace.

    Tuto možnost použijte k vázání opakovaných pokusů na celou aktualizaci, takže zablokovaná aktualizace se trvale nezdaří, a neopakuje se natrvalo.

    Tento parametr se vztahuje pouze na kanály, které používají chování automatického opakování a restartování. Opakování se nepokusí o jednorázové aktualizace spuštěné z editoru nebo při spuštění Validate aktualizace.

    Default:

    • Pět pro aktivované kanály.
    • Neomezené pro průběžné kanály.

    Pouze kanály Lakeflow

Vlastnosti tabulky pipeline

Kromě vlastností tabulky podporovaných službou Delta Lake můžete nastavit následující vlastnosti tabulky.

  • pipelines.autoOptimize.zOrderCols

    Žádné výchozí nastavení

    Volitelný řetězec obsahující čárkami oddělený seznam názvů sloupců, podle kterých se tato tabulka řadí. Například pipelines.autoOptimize.zOrderCols = "year,month"

    Databricks místo řazení Z doporučuje clustering kapalin pro optimalizaci rozložení dat v tabulkách kanálů. Pokud chcete databricks nechat automaticky vybírat a udržovat sloupce clusteringu, použijte CLUSTER BY AUTO (cluster_by_auto=Truev Python). Viz Použití metody 'liquid clustering' pro tabulky.

    Pouze kanály Lakeflow

  • pipelines.reset.allowed

    Výchozí: true

    Určuje, jestli je pro tuto tabulku povolená úplná aktualizace.

    K dispozici v protokolu SDP jako pipelines.reset.allowed

  • pipelines.autoOptimize.managed

    Výchozí: true

    Povolí nebo zakáže automatickou plánovanou optimalizaci této tabulky.

    U kanálů spravovaných prediktivní optimalizací se tato vlastnost nepoužívá.

    Pouze kanály Lakeflow

Interval spuštění potrubí

Můžete zadat interval spouštění pro celé potrubí nebo jako součást deklarace datové sady. Viz Nastavení intervalu triggeru pro průběžné kanály.

  • pipelines.trigger.interval

    Výchozí hodnota je založená na typu toku:

    • Pět sekund na streamovací dotazy.
    • Minuta pro úplné dotazy, když jsou všechna vstupní data ze zdrojů Delta.
    • Deset minut na úplné dotazy, kdy některé zdroje dat mohou být nedelta.

    Hodnota je číslo plus časová jednotka. Toto jsou platné časové jednotky:

    • second, seconds
    • minute, minutes
    • hour, hours
    • day, days

    Při definování hodnoty můžete použít jednotné číslo nebo jednotku množného čísla, například:

    • {"pipelines.trigger.interval" : "1 hour"}
    • {"pipelines.trigger.interval" : "10 seconds"}
    • {"pipelines.trigger.interval" : "30 second"}
    • {"pipelines.trigger.interval" : "1 minute"}
    • {"pipelines.trigger.interval" : "10 minutes"}
    • {"pipelines.trigger.interval" : "10 minute"}

    Pouze kanály Lakeflow

Databricks doporučuje nastavit pipelines.trigger.interval u jednotlivých tabulek, protože streamované a dávkové dotazy mají jiné výchozí hodnoty. Nastavte hodnotu na pipeline pouze tehdy, když zpracování vyžaduje kontrolu aktualizací celého pipeline graphu.

Pro nastavení intervalu v tabulce v Python použijte argument:spark_conf

@dp.table(
  spark_conf={"pipelines.trigger.interval" : "10 seconds"}
)
def <function-name>():
    return (<query>)

Pro nastavení intervalu na následujících datových sadách v SQL použijte SET:

SET pipelines.trigger.interval=10 seconds;

CREATE OR REFRESH MATERIALIZED VIEW TABLE_NAME
AS SELECT ...

Pro nastavení intervalu na celém potrubí jej přidejte k objektu configuration ve specifikaci pipeline:

{
  "configuration": {
    "pipelines.trigger.interval": "10 seconds"
  }
}

Atributy clusteru, které nejsou nastavené uživatelem

Vzhledem k tomu, že kanály spravují životní cyklus clusteru, mnoho nastavení clusteru je nastaveno systémem a uživatelé je nemůžou konfigurovat ručně, a to buď v konfiguraci kanálu, nebo v zásadách clusteru používaných kanálem. Následující tabulka uvádí tato nastavení a důvody, proč je nelze nastavit ručně.

Pouze kanály Lakeflow. SDP nespravuje výpočetní prostředky, takže tyto atributy clusteru se nevztahují.

  • cluster_name

    SDP nastaví názvy clusterů používaných ke spouštění aktualizací kanálu. Tyto názvy nelze přepsat.

  • data_security_mode

    access_mode

    Tyto hodnoty jsou automaticky nastaveny systémem.

  • spark_version

    Clustery SDP běží na vlastní verzi databricks Runtime, která se průběžně aktualizuje tak, aby zahrnovala nejnovější funkce. Verze Sparku je součástí verze Databricks Runtime a nedá se přepsat.

  • autotermination_minutes

    Vzhledem k tomu, že protokol SDP spravuje automatické ukončení clusteru a používá logiku opětovného použití, není možné přepsat čas automatického ukončení clusteru.

  • runtime_engine

    I když toto pole můžete řídit povolením Funkce Photon pro kanál, nemůžete tuto hodnotu nastavit přímo.

  • effective_spark_version

    Tato hodnota je automaticky nastavena systémem.

  • cluster_source

    Toto pole je nastaveno systémem a je jen pro čtení.

  • docker_image

    Vzhledem k tomu, že SDP spravuje životní cyklus clusteru, nemůžete použít vlastní kontejner s clustery kanálů.

  • workload_type

    Tato hodnota je nastavena systémem a nelze ji přepsat.

Možnosti zdroje a dotazu

Některá chování při příjmu a zpracování dat se konfigurují ve zdroji dat nebo dotazu, nikoli jako vlastnosti kanálu. Patří sem vývoj schématu, rady schématu a odvozování, omezení rychlosti příjmu dat a filtrování souborů. Ke konfiguraci použijte možnosti read_files aautomatického zavaděče. Vývoj schématu s from_jsonvyužitím , viz Odvození a vývoj schématu pomocí from_json kanálů.