Megosztás:


Felhasználó által definiált függvényerőforrás (UDF) hozzáadása Egy Databricks-alkalmazáshoz

A Unity Catalogban Databricks Apps-erőforrásokként regisztrált felhasználó által definiált függvényeket (UDF-eket) adhat hozzá, hogy az alkalmazás végrehajthassa a regisztrált SQL- és Python-függvényeket. Az UDF-ek újrafelhasználható üzleti logikát, adatátalakításokat és egyéni műveleteket biztosítanak, amelyek a szervezeten belül központosított irányítással oszthatók meg.

Jogosultsági követelmények

UDF futtatásához az alkalmazás szolgáltatási alapértelmezett felhasználói fiókjának rendelkeznie kell a USE CATALOG jogosultsággal a szülőkatalógusban, a USE SCHEMA jogosultsággal a szülősémában, és a EXECUTE jogosultsággal a függvényen. Az UDF-erőforrás hozzáadásakor az Azure Databricks automatikusan megadja ezeket a jogosultságokat az alkalmazás szolgáltatásnévének.

Ahhoz, hogy ez az automatikus engedélyezés sikeres legyen, az alábbiak egyikének igaznak kell lennie az egyes jogosultságokra:

  • A következőhöz USE CATALOG: Vagy minden fiókfelhasználó rendelkezik jogosultsággal USE CATALOG a katalógusban, vagy Ön rendelkezik a MANAGE katalógusban lévő jogosultsággal.
  • A következőhöz USE SCHEMA: Vagy minden fiókfelhasználó rendelkezik USE SCHEMA jogosultsággal a sémán, vagy Ön rendelkezik MANAGE jogosultsággal a sémán.
  • A következő számára EXECUTE: Vagy minden fiókfelhasználó rendelkezik a EXECUTE jogosultsággal a funkcióhoz, vagy Ön rendelkezik a MANAGE jogosultsággal a funkcióhoz.

Lásd: Unity Catalog-jogosultságok és biztonságos objektumok.

Felhasználó által definiált függvényerőforrás (UDF) hozzáadása

Mielőtt hozzáad egy UDF-et erőforrásként, tekintse át az alkalmazáserőforrás előfeltételeit.

  1. Alkalmazás létrehozásakor vagy szerkesztésekor lépjen a Konfigurálás lépésre.
  2. Az Alkalmazáserőforrások szakaszban kattintson az + Erőforrás hozzáadása elemre.
  3. Erőforrástípusként válassza az UC függvényt .
  4. Válasszon egy UDF-et a munkaterületen elérhető függvényekből. A függvénynek már regisztrálva kell lennie a Unity Katalógusban.
  5. Válassza ki az alkalmazás jogosultsági szintjét:
    • Futtatható: Engedélyt ad az alkalmazásnak a Felhasználó által definiált függvény (UDF) végrehajtására a megadott paraméterekkel. A EXECUTE jogosultságnak felel meg.
  6. (Nem kötelező) Adjon meg egy egyéni erőforráskulcsot, így hivatkozhat az UDF-re az alkalmazáskonfigurációban. Az alapértelmezett kulcs a következő function.

Környezeti változók

Amikor UDF-erőforrással üzembe helyez egy alkalmazást, az Azure Databricks a teljes háromszintű nevet környezeti változókon keresztül teszi elérhetővé, amelyekre a valueFrom mező használatával hivatkozhat.

Példakonfiguráció:

env:
  - name: UC_FUNCTION_NAME
    valueFrom: function # Use your custom resource key if different

A függvény használata az alkalmazásban:

import os
from databricks.sdk import WorkspaceClient

# Access the function name
function_name = os.getenv("UC_FUNCTION_NAME")

# Initialize workspace client
w = WorkspaceClient()

# Execute the function via SQL
result = w.statement_execution.execute_statement(
    warehouse_id="your_warehouse_id",
    statement=f"SELECT {function_name}('parameter_value')"
)

# Process the result
print(f"Function result: {result}")

További információ: Környezeti változók használata erőforrások eléréséhez.

Felhasználó által definiált függvényerőforrás (UDF) eltávolítása

Amikor eltávolít egy UDF-erőforrást egy alkalmazásból, az alkalmazás szolgáltatásneve elveszíti a függvényhez való hozzáférést. Maga az UDF változatlan marad, és továbbra is elérhető lesz más, megfelelő engedélyekkel rendelkező felhasználók és alkalmazások számára.

Ajánlott eljárások

A UDF-erőforrások használatakor vegye figyelembe a következőket:

  • Győződjön meg arról, hogy az UDF-ek jól dokumentálva vannak a paraméterek egyértelmű leírásával és a visszatérési típusokkal.
  • Az alkalmazáskód UDF-hibáinak kezelése, beleértve a paraméterérvényesítést és a kivételkezelést.
  • Tesztelje az UDF viselkedését az alkalmazáskörnyezetben az üzembe helyezés előtt a várt eredmények ellenőrzéséhez.
  • Az alkalmazásengedélyek tervezésekor vegye figyelembe az alapul szolgáló táblák vagy adatforrások UDF-függőségeit.