Feldolgozási sor beállítások konfigurálása Delta Live-táblákhoz
Ez a cikk részletesen ismerteti a Delta Live Tables folyamatbeállításainak konfigurálását. A Delta Live Tables felhasználói felülettel rendelkezik a folyamatbeállítások konfigurálásához és szerkesztéséhez. A felhasználói felületen lehetőség van a beállítások JSON-ban való megjelenítésére és szerkesztésére is.
Feljegyzés
A legtöbb beállítást a felhasználói felülettel vagy egy JSON-specifikációval konfigurálhatja. Bizonyos speciális beállítások csak a JSON-konfigurációval érhetők el.
A Databricks azt javasolja, hogy ismerkedjen meg a Delta Live Tables beállításaival a felhasználói felületen. Szükség esetén közvetlenül szerkesztheti a JSON-konfigurációt a munkaterületen. A JSON-konfigurációs fájlok akkor is hasznosak, ha folyamatokat helyeznek üzembe új környezetekben, vagy a CLI- vagy REST API-t használják.
A Delta Live Tables JSON-konfigurációs beállításaira vonatkozó teljes hivatkozásért tekintse meg a Delta Live Tables folyamatkonfigurációit.
Feljegyzés
- Mivel a számítási erőforrások teljes mértékben kiszolgáló nélküli DLT-folyamatokhoz vannak felügyelve, a számítási beállítások, például a bővített automatikus skálázás, a fürtszabályzatok, a példánytípusok és a fürtcímkék nem érhetők el a Delta Live Tables felhasználói felületén, amikor a Kiszolgáló nélküli lehetőséget választja egy folyamathoz.
- A kiszolgáló nélküli DLT-folyamatok JSON-konfigurációjában manuálisan nem adhat hozzá számítási beállításokat egy
clusters
objektumhoz, és ha ezt megkísérli, az hibát eredményez.
A kiszolgáló nélküli DLT-folyamatok engedélyezésével kapcsolatos információkért forduljon az Azure Databricks-fiók csapatához.
Termékkiadás kiválasztása
Válassza ki a Delta Live Tables termékkiadást a folyamatkövetelményeknek leginkább megfelelő funkciókkal. A következő termékkiadások érhetők el:
Core
streamelési betöltési számítási feladatok futtatásához. Válassza ki aCore
kiadást, ha a folyamat nem igényel speciális funkciókat, például az adatrögzítést (CDC) vagy a Delta Live Tables elvárásait.Pro
streamelési és CDC-számítási feladatok futtatásához. APro
termékkiadás támogatja az összes funkciót, valamint támogatja azokat aCore
számítási feladatokat, amelyek a forrásadatok változásain alapuló táblák frissítését igénylik.Advanced
streamelési betöltési számítási feladatok, CDC-számítási feladatok és elvárásokat igénylő számítási feladatok futtatásához. AAdvanced
termékkiadás támogatja a kiadások ésPro
aCore
kiadások funkcióit, valamint támogatja az adatminőségi korlátozások érvényesítését a Delta Live Tables elvárásaival.
A folyamat létrehozásakor vagy szerkesztésekor kiválaszthatja a termékkiadást. Minden folyamathoz választhat egy másik kiadást. Tekintse meg a Delta Live Tables termékoldalát.
Megjegyzés: Ha a folyamat olyan funkciókat tartalmaz, amelyeket a kiválasztott termékkiadás nem támogat, például elvárásokat, hibaüzenet jelenik meg a hiba okáról. Ezután szerkesztheti a folyamatot a megfelelő kiadás kiválasztásához.
Folyamat mód kiválasztása
A folyamat folyamatosan vagy manuális eseményindítókkal is frissíthető a folyamat üzemmódja alapján. Lásd: Folyamatos és aktivált folyamat végrehajtása.
Fürtszabályzat kiválasztása
A felhasználóknak rendelkezniük kell engedéllyel a delta live table-folyamatok konfigurálásához és frissítéséhez szükséges számítás üzembe helyezéséhez. A munkaterület-rendszergazdák fürtszabályzatokat konfigurálhatnak, hogy hozzáférést biztosítsanak a felhasználóknak a Delta Live Tables számítási erőforrásaihoz. Lásd: A Delta Live Tables-folyamat számításának korlátainak meghatározása.
Feljegyzés
A fürtszabályzatok nem kötelezőek. Forduljon a munkaterület rendszergazdájához, ha nem rendelkezik a Delta Live Tableshez szükséges számítási jogosultságokkal.
A fürtszabályzat alapértelmezett értékeinek helyes alkalmazásához állítsa be az
apply_policy_default_values
értékettrue
a fürtkonfigurációkban a folyamatkonfigurációban:{ "clusters": [ { "label": "default", "policy_id": "<policy-id>", "apply_policy_default_values": true } ] }
Forráskódtárak konfigurálása
A Delta Live Tables felhasználói felületén található fájlválasztóval konfigurálhatja a folyamatot meghatározó forráskódot. A folyamat forráskódja a Databricks-jegyzetfüzetekben vagy a munkaterületfájlokban tárolt SQL- vagy Python-szkriptekben van definiálva. A folyamat létrehozásakor vagy szerkesztésekor hozzáadhat egy vagy több jegyzetfüzetet vagy munkaterületfájlt, illetve jegyzetfüzetek és munkaterületfájlok kombinációját.
Mivel a Delta Live Tables automatikusan elemzi az adathalmaz-függőségeket a folyamat feldolgozási gráfjának létrehozásához, bármilyen sorrendben hozzáadhat forráskódtárakat.
A JSON-fájlt úgy is módosíthatja, hogy tartalmazza a munkaterület fájljaiban tárolt SQL- és Python-szkriptekben definiált Delta Live Tables-forráskódot. Az alábbi példa jegyzetfüzeteket és munkaterületfájlokat tartalmaz:
{
"name": "Example pipeline 3",
"storage": "dbfs:/pipeline-examples/storage-location/example3",
"libraries": [
{ "notebook": { "path": "/example-notebook_1" } },
{ "notebook": { "path": "/example-notebook_2" } },
{ "file": { "path": "/Workspace/Users/<user-name>@databricks.com/Apply_Changes_Into/apply_changes_into.sql" } },
{ "file": { "path": "/Workspace/Users/<user-name>@databricks.com/Apply_Changes_Into/apply_changes_into.py" } }
]
}
Tárolási hely megadása
Megadhatja a Hive metaadattárban közzétett folyamatok tárolási helyét. A hely meghatározásának elsődleges célja a folyamat által írt adatok objektumtárolási helyének szabályozása.
Mivel a Delta Live Tables-folyamatok összes tábláját, adatát, ellenőrzőpontját és metaadatait teljes mértékben a Delta Élő táblák kezelik, a Delta Live Tables-adatkészletekkel való legtöbb interakció a Hive-metaadattárban vagy a Unity-katalógusban regisztrált táblákon keresztül történik.
Célséma megadása folyamatkimeneti táblákhoz
Bár nem kötelező, meg kell adnia egy célhelyet a folyamat által létrehozott táblák közzétételéhez, amikor túllép egy új folyamat fejlesztési és tesztelési folyamatán. Ha egy folyamatot közzétesz egy célhelyen, az adathalmazok elérhetővé válnak az Azure Databricks-környezet más részein történő lekérdezéshez. Lásd: Adatok közzététele a Delta Élő táblákból a Hive metaadattárba , vagy a Unity katalógus használata a Delta Live Tables-folyamatokkal.
A számítási beállítások konfigurálása
Feljegyzés
Mivel a számítási erőforrások teljes mértékben kiszolgáló nélküli DLT-folyamatokhoz vannak felügyelve, a számítási beállítások nem érhetők el, amikor a Kiszolgáló nélküli lehetőséget választja egy folyamathoz.
Minden Delta Live Tables-folyamat két társított fürtből áll:
- A
updates
fürt folyamatfrissítéseket dolgoz fel. - A
maintenance
fürt napi karbantartási feladatokat futtat.
A fürtök által használt konfigurációt a clusters
folyamatbeállításokban megadott attribútum határozza meg.
A fürtcímkék használatával olyan számítási beállításokat adhat hozzá, amelyek csak egy adott fürttípusra vonatkoznak. A folyamatfürtök konfigurálásakor három címke használható:
Feljegyzés
A fürtcímke-beállítás elhagyható, ha csak egy fürtkonfigurációt határoz meg. A default
címke akkor lesz alkalmazva a fürtkonfigurációkra, ha nincs megadva a címke beállítása. A fürtcímke-beállítás csak akkor szükséges, ha testre kell szabnia a különböző fürttípusok beállításait.
- A
default
címke meghatározza a számítási beállításokat, amelyeket a fürtökre ésmaintenance
aupdates
fürtökre egyaránt alkalmazni kell. Ha mindkét fürtre ugyanazokat a beállításokat alkalmazza, azzal javítja a karbantartási futtatások megbízhatóságát azáltal, hogy biztosítja a szükséges konfigurációkat, például a tárolóhely adatelérési hitelesítő adatait a karbantartási fürtre. - A
maintenance
címke olyan számítási beállításokat határoz meg, amelyek csak amaintenance
fürtre vonatkoznak. A címkével felülbírálhatja amaintenance
címke általdefault
konfigurált beállításokat is. - A
updates
címke olyan beállításokat határoz meg, amelyek csak aupdates
fürtre vonatkoznak. A címkévelupdates
konfigurálhatja a fürtönmaintenance
nem alkalmazható beállításokat.
A fürt végső konfigurációjának updates
létrehozásához a rendszer egyesíti a címkékkel és updates
a default
címkékkel definiált beállításokat. Ha ugyanazt a beállítást mindkettővel default
és updates
címkékkel definiálja, a címkével updates
definiált beállítás felülírja a default
címkével definiált beállítást.
Az alábbi példa egy Spark-konfigurációs paramétert határoz meg, amely csak a fürt konfigurációjába van hozzáadva updates
:
{
"clusters": [
{
"label": "default",
"autoscale": {
"min_workers": 1,
"max_workers": 5,
"mode": "ENHANCED"
}
},
{
"label": "updates",
"spark_conf": {
"key": "value"
}
}
]
}
A Delta Live Tables a fürtbeállításokhoz hasonló lehetőségeket kínál, mint az Azure Databricks más számításai. A többi folyamatbeállításhoz hasonlóan a fürtök JSON-konfigurációját is módosíthatja úgy, hogy a felhasználói felületen nem található beállításokat adja meg. Lásd: Compute.
Feljegyzés
- Mivel a Delta Live Tables futtatókörnyezet kezeli a folyamatfürtök életciklusát, és a Databricks Runtime egyéni verzióját futtatja, nem állíthat be manuálisan bizonyos fürtbeállításokat egy folyamatkonfigurációban, például a Spark-verziót vagy a fürtneveket. Lásd a nem felhasználó által beállított fürtattribútumokat.
- A Delta Live Tables-folyamatokat konfigurálhatja a Photon használatához. Lásd: Mi a Photon?.
Folyamat futtatásához válassza ki a példánytípusokat
Alapértelmezés szerint a Delta Live Tables kiválasztja a folyamatot futtató illesztőprogram- és feldolgozó csomópontok példánytípusait, de manuálisan is konfigurálhatja a példánytípusokat. Előfordulhat például, hogy a folyamat teljesítményének javítása vagy a folyamat futtatásakor felmerülő memóriaproblémák megoldása érdekében érdemes példánytípusokat választania. A folyamat REST API-val vagy a Delta Live Tables felhasználói felületén történő létrehozásakor vagy szerkesztésekor konfigurálhat példánytípusokat.
Példánytípusok konfigurálása folyamat létrehozásakor vagy szerkesztésekor a Delta Live Tables felhasználói felületén:
- Kattintson a Beállítások gombra.
- A folyamatbeállítások Speciális szakaszában, a Feldolgozó típusa és az Illesztőprogram típusa legördülő menüben válassza ki a folyamat példánytípusait.
A példánytípusok a folyamat JSON-beállításaiban való konfigurálásához kattintson a JSON gombra, és adja meg a példánytípus-konfigurációkat a fürtkonfigurációban:
Feljegyzés
Annak érdekében, hogy ne rendeljen felesleges erőforrásokat a maintenance
fürthöz, ez a példa a updates
címke használatával állítja be csak a updates
fürt példánytípusát. A példánytípusok mind a kettőhöz, maintenance
mind updates
a fürtökhöz való hozzárendeléséhez használja a default
címkét, vagy hagyja ki a címke beállítását. A default
címke akkor lesz alkalmazva a folyamatfürt-konfigurációkra, ha nincs megadva a címke beállítása. Lásd a számítási beállítások konfigurálását.
{
"clusters": [
{
"label": "updates",
"node_type_id": "Standard_D12_v2",
"driver_node_type_id": "Standard_D3_v2",
"..." : "..."
}
]
}
Az automatikus skálázás használata a hatékonyság növeléséhez és az erőforrás-használat csökkentéséhez
A bővített automatikus skálázás használatával optimalizálhatja a folyamatok fürtkihasználtságát. A továbbfejlesztett automatikus skálázás csak akkor ad hozzá további erőforrásokat, ha a rendszer megállapítja, hogy ezek az erőforrások növelik a folyamat feldolgozási sebességét. A rendszer felszabadítja az erőforrásokat, ha már nincs rá szükség, és a fürtök leállnak, amint az összes folyamatfrissítés befejeződik.
A bővített automatikus skálázásról és a konfiguráció részleteiről további információt a Delta Live Tables-folyamatok fürtkihasználtságának optimalizálása továbbfejlesztett automatikus skálázással című témakörben talál.
Számítási leállítás késleltetése
Mivel a Delta Live Tables-fürt automatikusan leáll, ha nincs használatban, a fürtkonfiguráció autotermination_minutes
beállítását megadó fürtszabályzatra való hivatkozás hibát okoz. A fürtleállítási viselkedés szabályozásához használhat fejlesztési vagy éles módot, vagy használhatja a pipelines.clusterShutdown.delay
beállítást a folyamatkonfigurációban. Az alábbi példa 60 másodpercre állítja be a pipelines.clusterShutdown.delay
értékét:
{
"configuration": {
"pipelines.clusterShutdown.delay": "60s"
}
}
Ha a production
mód van engedélyezve, a pipelines.clusterShutdown.delay
alapértelmezett értéke 0 seconds
. Ha a development
mód van engedélyezve, az alapértelmezett érték 2 hours
.
Egyetlen csomópontfürt létrehozása
Ha a fürt beállításai között 0 értékre van állítva num_workers
, a fürt egyetlen csomópontos fürtként jön létre. Egy automatikus skálázású fürt konfigurálása, illetve a min_workers
0 értékűre és a max_workers
0 értékűre állítása szintén egy csomópontos fürtöt eredményez.
Ha automatikus skálázási fürtöt konfigurál, és csak min_workers
0 értékre állítja be, akkor a fürt nem egyetlen csomópontfürtként jön létre. A fürtnek folyamatosan legalább egy aktív feldolgozója lesz a leállásig.
Példa-fürtkonfiguráció egy egy csomópontos fürt létrehozásához a Delta Live Tablesben:
{
"clusters": [
{
"num_workers": 0
}
]
}
Fürtcímkék konfigurálása
A fürtcímkék segítségével nyomon követheti a csővezetékfürtök használatát. A Delta Live Tables felhasználói felületen a csővezeték létrehozásakor vagy szerkesztésekor, vagy a csővezeték-klaszterek JSON-beállításainak szerkesztésével adhat hozzá klasztercímkéket.
Felhőbeli tárterület konfigurálása
Az Azure Storage eléréséhez konfigurálnia kell a szükséges paramétereket, beleértve a hozzáférési jogkivonatokat is a fürtkonfigurációk beállításainak használatávalspark.conf
. Az Azure Data Lake Storage Gen2 (ADLS Gen2) tárfiókhoz való hozzáférés konfigurálására példa: Biztonságos hozzáférés a tároló hitelesítő adataihoz titkos kulcsokkal egy folyamatban.
Adathalmaz-deklarációk paraméterezése Pythonban vagy SQL-ben
Az adathalmazokat meghatározó Python- és SQL-kód paraméterezhető a folyamat beállításai alapján. A paraméterezés a következő használati eseteket teszi lehetővé:
- Hosszú útvonalak és más változók elválasztása a kódtól.
- A tesztelés felgyorsítása érdekében csökkentse a fejlesztési vagy előkészítési környezetekben feldolgozott adatok mennyiségét.
- Ugyanazt az átalakítási logikát használja újra több adatforrásból történő feldolgozáshoz.
Az alábbi példa a startDate
konfigurációs érték használatával korlátozza a fejlesztési folyamatot a bemeneti adatok egy részhalmazára:
CREATE OR REFRESH MATERIALIZED VIEW customer_events
AS SELECT * FROM sourceTable WHERE date > '${mypipeline.startDate}';
@dlt.table
def customer_events():
start_date = spark.conf.get("mypipeline.startDate")
return read("sourceTable").where(col("date") > start_date)
{
"name": "Data Ingest - DEV",
"configuration": {
"mypipeline.startDate": "2021-01-02"
}
}
{
"name": "Data Ingest - PROD",
"configuration": {
"mypipeline.startDate": "2010-01-02"
}
}
Folyamatok eseményindító időköze
Egy tábla vagy egy teljes folyamat folyamatfrissítésének eseményindító időközét szabályozhatja pipelines.trigger.interval
. Mivel egy aktivált folyamat csak egyszer dolgozza fel az egyes táblákat, a pipelines.trigger.interval
rendszer csak folyamatos folyamatokkal használja.
A Databricks az egyes táblák beállítását pipelines.trigger.interval
javasolja a streamelés és a kötegelt lekérdezések eltérő alapértelmezett beállításai miatt. Csak akkor állítsa be a folyamat értékét, ha a feldolgozáshoz a teljes folyamatdiagram frissítéseinek szabályozása szükséges.
pipelines.trigger.interval
Beállíthat egy táblát spark_conf
Pythonban vagy SET
SQL-ben:
@dlt.table(
spark_conf={"pipelines.trigger.interval" : "10 seconds"}
)
def <function-name>():
return (<query>)
SET pipelines.trigger.interval=10 seconds;
CREATE OR REFRESH MATERIALIZED VIEW TABLE_NAME
AS SELECT ...
A folyamat beállításához pipelines.trigger.interval
adja hozzá az configuration
objektumhoz a folyamat beállításai között:
{
"configuration": {
"pipelines.trigger.interval": "10 seconds"
}
}
Annak engedélyezése, hogy a nem rendszergazdai felhasználók megtekinthessék az illesztőprogram-naplókat egy Unity-katalógust használó folyamatból
Alapértelmezés szerint csak a folyamat tulajdonosának és a munkaterület rendszergazdáinak van engedélye megtekinteni a Unity Catalog-kompatibilis folyamatot futtató fürt illesztőprogram-naplóit. A KÖVETKEZŐ Spark-konfigurációs paraméter configuration
hozzáadásával engedélyezheti az illesztőprogram-naplók elérését minden olyan felhasználó számára, aki rendelkezik a CAN MANAGE, CAN VIEW vagy CAN RUN engedélyekkel:
{
"configuration": {
"spark.databricks.acl.needAdminPermissionToViewLogs": "false"
}
}
E-mail-értesítések hozzáadása folyamateseményekhez
Egy vagy több e-mail-címet úgy konfigurálhat, hogy értesítéseket kapjon az alábbiak esetén:
- A folyamat frissítése sikeresen befejeződött.
- A folyamatfrissítés sikertelen, újrapróbálkozással vagy nem újrapróbálkozással. Ha bejelöli ezt a lehetőséget, értesítést szeretne kapni az összes folyamathibáról.
- A folyamatfrissítés nem újrapróbálkozható (végzetes) hibával meghiúsul. Ha ezt a beállítást választja, csak akkor kap értesítést, ha nem újrapróbálkozható hiba történik.
- Egyetlen adatfolyam meghiúsul.
E-mail-értesítések konfigurálása folyamat létrehozásakor vagy szerkesztésekor:
- Kattintson az Értesítés hozzáadása gombra.
- Adjon meg egy vagy több e-mail-címet az értesítések fogadásához.
- Kattintson az egyes értesítéstípusok jelölőnégyzetére a konfigurált e-mail-címekre való küldéshez.
- Kattintson az Értesítés hozzáadása gombra.
1. típusú SCD-lekérdezések sírkőkezelésének vezérlése
Az alábbi beállításokkal szabályozható a sírkőkezelés DELETE
viselkedése az SCD 1. típusú feldolgozása során:
pipelines.applyChanges.tombstoneGCThresholdInSeconds
: Állítsa be ezt az értéket úgy, hogy az megfeleljen a rendelésen kívüli adatok közötti legmagasabb elvárt időköznek másodpercben. Az alapértelmezett érték 172800 másodperc (2 nap).pipelines.applyChanges.tombstoneGCFrequencyInSeconds
: Ez a beállítás azt szabályozza, hogy a rendszer másodpercek alatt milyen gyakran ellenőrzi a sírköveket a törléshez. Az alapértelmezett érték 1800 másodperc (30 perc).
Lásd : AZ APPLY CHANGES API-k: A változásadatok rögzítésének egyszerűsítése Delta Live-táblákkal.
Folyamatengedélyek konfigurálása
A folyamat engedélyeinek kezeléséhez rendelkeznie kell a CAN MANAGE
folyamat engedélyével vagy IS OWNER
engedélyével.
- Az oldalsávon kattintson a Delta Live Tables elemre.
- Válassza ki a folyamat nevét.
- Kattintson a kebab menüre , és válassza az Engedélyek lehetőséget.
- Az Engedélyek beállításai területen válassza a Felhasználó, csoport vagy szolgáltatásnév kiválasztása... legördülő menüt, majd válasszon ki egy felhasználót, csoportot vagy szolgáltatásnevet.
- Válasszon egy engedélyt az engedély legördülő menüből.
- Kattintson a Hozzáadás gombra.
- Kattintson a Mentés gombra.
A RocksDB állapottárolójának engedélyezése Delta Live-táblákhoz
A RocksDB-alapú állapotkezelés engedélyezéséhez állítsa be a következő konfigurációt a folyamat üzembe helyezése előtt:
{
"configuration": {
"spark.sql.streaming.stateStore.providerClass": "com.databricks.sql.streaming.state.RocksDBStateStoreProvider"
}
}
Ha többet szeretne megtudni a RocksDB állapottárolójáról, beleértve a RocksDB konfigurációs javaslatait, olvassa el a RocksDB-állapottároló konfigurálása az Azure Databricksben című témakört.