Megosztás a következőn keresztül:


Részletes hozzáférés-vezérlés dedikált számításon (korábban egyfelhasználós számításon)

Ez a cikk bemutatja az adatszűrő funkciót, amely lehetővé teszi a részletes hozzáférés-vezérlést a dedikált számításon futó lekérdezéseken (teljes célú vagy feladatokhoz használt számítógépeken, amelyek Dedicated hozzáférési móddal vannak konfigurálva). Lásd: Hozzáférési módok.

Ez az adatszűrés kiszolgáló nélküli számítással történik a színfalak mögött.

Miért van szükség adatszűrésre egyes dedikált számítási lekérdezések esetében?

A Unity Catalog lehetővé teszi a táblázatos adatokhoz való hozzáférést az oszlop- és sorszinten (más néven részletes hozzáférés-vezérlés) az alábbi funkciókkal:

Amikor a felhasználók olyan nézeteket kérdeznek le, amelyek kizárják az adatokat a hivatkozott táblákból vagy a szűrőket és maszkokat alkalmazó lekérdezéstáblákból, korlátozás nélkül használhatják az alábbi számítási erőforrások bármelyikét:

  • SQL-raktárak
  • Standard számítás (korábban megosztott számítás)

Ha azonban dedikált számítást használ az ilyen lekérdezések futtatásához, akkor a számításnak és a munkaterületnek meg kell felelnie bizonyos követelményeknek:

Ha a dedikált számítási erőforrás és a munkaterület megfelel ezeknek a követelményeknek, akkor az adatszűrés automatikusan lefut, amikor részletes hozzáférés-vezérlést használó nézetet vagy táblát kérdez le.

materializált nézetek, streamelési táblák és standard nézetek támogatása

A dinamikus nézetek, a sorszűrők és az oszlopmaszkok mellett az adatszűrés az alábbi nézetekben és táblákban is lehetővé teszi a lekérdezéseket, amelyek nem támogatottak a Databricks Runtime 15.3-at futtató dedikált számítási eszközökön:

A Databricks Runtime 15.3-nál vagy alacsonyabb verziót futtató dedikált számítások esetén a felhasználónak, aki a nézeten lekérdezést futtat, SELECT jogosultsággal kell rendelkeznie a nézet által hivatkozott táblákon és nézeteken. Ez azt jelenti, hogy a nézetek nem használhatók részletes hozzáférés-vezérlés biztosítására. Az adatszűréssel rendelkező Databricks Runtime 15.4-ben a nézetet lekérdező felhasználónak nem kell hozzáférnie a hivatkozott táblákhoz és nézetekhez.

Hogyan működik az adatszűrés dedikált számításon?

Amikor egy lekérdezés hozzáfér a következő adatbázis-objektumokhoz, a dedikált számítási erőforrás átadja a lekérdezést a kiszolgáló nélküli számításnak az adatszűrés végrehajtásához:

  • Olyan táblákra épülő nézetek, amelyeken a felhasználó nem rendelkezik SELECT jogosultsággal
  • Dinamikus nézetek
  • Definiált sorszűrőkkel vagy oszlopmaszkokkal rendelkező táblák
  • Materializált nézetek és adatfolyam-táblák

Az alábbi ábrán a felhasználónak SELECT, table_1, view_2 és table_w_rls vannak, amelyekre sorszűrők vannak alkalmazva. A felhasználónak nincs SELECT a table_2 rendszeren, amire a view_2 hivatkozik.

Ábra az adatszűrés működéséről

A table_1 lekérdezését teljes egészében a dedikált számítási erőforrás kezeli, mivel nincs szükség szűrésre. A view_2 és table_w_rls lekérdezések adatszűrést igényelnek ahhoz, hogy a felhasználó számára hozzáférhető adatokat visszaadják. Ezeket a lekérdezéseket a kiszolgáló nélküli számítás adatszűrési képessége kezeli.

Milyen költségek merülnek fel?

Az ügyfeleknek az adatszűrési műveletek végrehajtásához használt kiszolgáló nélküli számítási erőforrásokért kell fizetni. A díjszabással kapcsolatos információkért tekintse meg a platformszinteket és a bővítményeket.

A rendszer számlázási használati tábláját lekérdezve megtekintheti, hogy mennyit számoltak fel önnek. A következő lekérdezés például felhasználónként lebontja a számítási költségeket:

SELECT usage_date,
sku_name,
 identity_metadata.run_as,
SUM(usage_quantity) AS `DBUs consumed by FGAC`
FROM system.billing.usage
WHERE usage_date BETWEEN '2024-08-01' AND '2024-09-01'
 AND billing_origin_product = 'FINE_GRAINED_ACCESS_CONTROL'
GROUP BY 1, 2, 3 ORDER BY 1;

Lekérdezési teljesítmény megtekintése adatszűrés esetén

A dedikált számítási Spark felhasználói felülete olyan metrikákat jelenít meg, amelyekkel megértheti a lekérdezések teljesítményét. A számítási erőforráson futtatott összes lekérdezésnél az SQL/Dataframe lapon megjelenik a lekérdezési gráf ábrázolása. Ha egy lekérdezés adatszűrésben vett részt, a felhasználói felület egy RemoteSparkConnectScan operátorcsomópontot jelenít meg a gráf alján. Ez a csomópont megjeleníti a lekérdezési teljesítmény vizsgálatához használható metrikákat. Lásd: Számítási adatok megtekintése az Apache Spark felhasználói felületén.

A RemoteSparkConnectScan csomópontot megjelenítő SparkUI

Bontsa ki a RemoteSparkConnectScan operátorcsomópontot az olyan metrikák megtekintéséhez, amelyek az alábbi kérdésekre válaszolnak:

  • Mennyi időt vett igénybe az adatszűrés? Tekintse meg a "teljes távoli végrehajtási időt".
  • Hány sor maradt az adatszűrés után? A "sorok kimenetének" megtekintése.
  • Mennyi adat lett visszaadva (bájtban) az adatszűrés után? A "sorok kimeneti méretének" megtekintése.
  • Hány adatfájl lett partícióval elválasztva, és nem kellett beolvasni a tárból? Tekintse meg a "Kivágott fájlok" és a "Kivágott fájlok mérete" elemeket.
  • Hány adatfájlt nem sikerült metszeni, és ki kellett olvasni a tárból? Tekintse meg a "Fájlok olvasása" és az "Olvasási fájlok mérete" című cikket.
  • Az olvasandó fájlok közül hány volt már a gyorsítótárban? Tekintse meg a "Gyorsítótár-találatok mérete" és a "Gyorsítótár mérete hiányzik".

Korlátozások

  • A táblázatírási és -frissítési műveletek nem támogatottak olyan táblákon, amelyeken sorszűrők vagy oszlopmaszkok vannak alkalmazva.

    A DML-műveletek, például INSERT,DELETEa , UPDATEREFRESH TABLE, és MERGE, nem támogatottak. Ezekből a táblákból csak olvasni (SELECT) lehet.

  • Az öncsatlakozások alapértelmezés szerint le lesznek tiltva az adatszűrés meghívásakor, de engedélyezheti őket úgy, hogy hamis értékre állítja spark.databricks.remoteFiltering.blockSelfJoins őket azon a számításon, amelyen ezeket a parancsokat futtatja.

    Mielőtt engedélyezné az önillesztést egy dedikált számítási erőforráson, vegye figyelembe, hogy az adatszűrési képesség által kezelt öncsatlakozási lekérdezések különböző pillanatképeket adhatnak vissza ugyanahhoz a távoli táblához.

  • Nem érhető el támogatás a Docker-rendszerképekhez.
  • Ha a munkakörnyezetet 2024 novembere előtt tűzfallal állították be, meg kell nyitnia a 8443-as és a 8444-es portokat, hogy lehetővé tegye a finomszemcsés hozzáférés-vezérlést a dedikált számításnál. Lásd: Hálózati biztonsági csoport szabályai.