Megosztás:


Adatok összesítése az Azure Databricksben

Ez a cikk bemutatja az összesítés általános szemantikáját, és ismerteti a kötegelt lekérdezésekkel, materializált nézetekkel és streameléssel kiszámított eredmények közötti különbségeket.

Batch-összesítések

A batch aggregáció az alapértelmezett viselkedés, amely akkor figyelhető meg, ha alkalmi lekérdezést futtat az SQL-ben, vagy adatokat dolgoz fel apache Spark DataFrame-ekkel.

Egy táblára vagy adatforrásra írt összesítő lekérdezés kiszámítja az adatforrás összes rekordjának összesített statisztikáit. Az Azure Databricks optimalizálásokat és metaadatokat használ, amikor csak lehetséges, a lekérdezések optimalizálásához, és számos aggregátum hatékony kiszámítására képes a nagy adathalmazok esetében.

A kötegelt összesítés késése és a számítási költségek az adatméret növekedésével növekedhetnek, és az előre kiszámított, gyakran hivatkozott összesített értékek jelentős időt és pénzt takaríthatnak meg a felhasználók számára. A Databricks a materializált nézetek használatát javasolja az összesített értékek növekményes frissítéséhez. Lásd a növekményes összesítéseket.

Állapotalapú összesítések

A streamelési számítási feladatokban definiált összesítések állapotalapúak. Az állapotalapú összesítések nyomon követik a megfigyelt rekordokat az idő függvényében, és újrafordítják az eredményeket az új adatok feldolgozásakor.

Állapotalapú aggregátumok kiszámításakor vízjeleket kell használnia. Ha kihagy egy vízjelet egy állapotalapú összesítő lekérdezésből, az állapotinformációk végtelenül halmozódnak fel idővel. Ez lassú folyamatokat eredményez, és memóriakihasználtsághoz vezethet.

Ne használjon állapotalapú aggregátumot a teljes adatkészlet statisztikáinak kiszámításához. A Databricks a teljes adatkészlet növekményes összesítési számításához materializált nézeteket javasol. Lásd a növekményes összesítéseket.

Az állapotalapú aggregátumokat hatékonyan és helyesen összesítő számítási feladatok konfigurálásához ismerni kell, hogyan érkeznek az adatok a forrásrendszerekből, és hogyan használja az Azure Databricks a vízjeleket, a kimeneti módokat és a triggerintervallumokat a lekérdezési állapot és az eredmények kiszámításának szabályozásához.

Növekményes összesítések

A materializált nézetek használatával több összesített értéket növekményesen számíthat ki. A materializált nézetek automatikusan nyomon követik az adatforrás változásait, és a megfelelő frissítéseket alkalmazzák a frissítések értékeinek összesítésére. A materialzed nézet által visszaadott eredmények egyenértékűek a forrásadatok összesített eredményeinek kötegelt feladattal vagy alkalmi lekérdezéssel történő újrafordításával.

Hozzávetőleges összesítések

Míg az Azure Databricks kiemelkedően nagy adathalmazokon dolgozik, az aggregátumok közelítése felgyorsíthatja a lekérdezések feldolgozását, és csökkentheti a költségeket, ha nincs szükség pontos eredményekre.

Az utasítások használata LIMIT néha elég jó az adatok gyors pillanatképének lekéréséhez, de nem vezet véletlenszerűséghez, vagy garantálja, hogy a mintavételezés az adathalmazon belül el van osztva.

A Spark SQL a következő natív metódusokkal rendelkezik az aggregációk numerikus vagy kategorikus adatokon való összecsukására:

Megadhat egy mintaszázalékot is TABLESAMPLE, hogy véletlenszerű mintát hozzon létre egy adathalmazból, és hozzávetőleges összesítéseket számítson ki. Lásd TABLESAMPLE záradék.

Adathalmazok monitorozása összesített statistcsek használatával

Az adatprofilozás összesített statisztikákat és adateloszlásokat használ az adatminőség időbeli nyomon követéséhez. Jelentéseket hozhat létre a trendek megjelenítéséhez, és riasztásokat ütemezhet az adatok váratlan változásainak megjelöléséhez. Lásd az adatprofilozást.