Aracılığıyla paylaş


Databricks uygulamasına kullanıcı tanımlı işlev (UDF) kaynağı ekleme

Uygulamanızın kayıtlı SQL ve Python işlevlerini yürütmesini sağlamak için Unity Kataloğu'nda Databricks Apps kaynakları olarak kayıtlı kullanıcı tanımlı işlevler (UDF) ekleyin. UDF'ler, merkezi idare ile kuruluşunuz genelinde paylaşılabilen yeniden kullanılabilir iş mantığı, veri dönüşümleri ve özel işlemler sağlar.

Yetki gereksinimleri

UDF çalıştırmak için uygulamanın hizmet sorumlusunun USE CATALOG üst katalogda ayrıcalığı, USE SCHEMA üst şemada ayrıcalığı ve EXECUTE işlevdeki ayrıcalığı olmalıdır. UDF kaynağını eklediğinizde, Azure Databricks bu ayrıcalıkları uygulamanın hizmet sorumlusuna otomatik olarak verir.

Bu otomatik verme işleminin başarılı olması için her ayrıcalık için aşağıdakilerden birinin geçerli olması gerekir:

  • İçin USE CATALOG: Ya tüm hesap kullanıcılarının katalog üzerinde USE CATALOG ayrıcalıkları vardır ya da sizin katalog üzerinde MANAGE ayrıcalığınız vardır.
  • için USE SCHEMA: Ya tüm hesap kullanıcılarının şema üzerinde USE SCHEMA yetkisi vardır, ya da sizin şema üzerinde MANAGE yetkiniz vardır.
  • için EXECUTE: Ya tüm hesap kullanıcılarının işlev üzerinde EXECUTE ayrıcalığı vardır ya da sizin işlev üzerinde MANAGE ayrıcalığınız vardır.

Bkz. Unity Kataloğu ayrıcalıkları ve güvenliği sağlanabilecek nesneler.

Kullanıcı tanımlı işlev (UDF) kaynağı ekleme

UDF'yi kaynak olarak eklemeden önce uygulama kaynağı önkoşullarını gözden geçirin.

  1. Bir uygulama oluşturduğunuzda veya düzenlediğinizde Yapılandır adımına gidin.
  2. Uygulama kaynakları bölümünde + Kaynak ekle'ye tıklayın.
  3. Kaynak türü olarak UC işlevini seçin.
  4. Çalışma alanınızdaki kullanılabilir işlevler arasından bir UDF seçin. İşlev, Unity Kataloğu'nda zaten kayıtlı olmalıdır.
  5. Uygulamanız için izin düzeyini seçin:
    • Yürütebilir: Uygulamaya UDF'yi sağlanan parametrelerle yürütme izni verir. Ayrıcalığına EXECUTE karşılık gelir.
  6. (İsteğe bağlı) Uygulama yapılandırmanızda UDF'ye nasıl başvuracağınız için özel bir kaynak anahtarı belirtin. Varsayılan anahtardır function.

Ortam değişkenleri

UDF kaynağıyla bir uygulama dağıttığınızda, Azure Databricks ortam değişkenleri aracılığıyla tam üç düzeyli adı ortaya çıkarır ve siz de valueFrom alanını kullanarak buna başvurabilirsiniz.

Örnek yapılandırma:

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

Uygulamanızda işlevini kullanma:

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}")

Daha fazla bilgi için bkz. Kaynaklara erişmek için ortam değişkenlerini kullanma.

Kullanıcı tanımlı işlev (UDF) kaynağını kaldırma

Bir uygulamadan UDF kaynağını kaldırdığınızda, uygulamanın hizmet sorumlusu işleve erişimi kaybeder. UDF'nin kendisi değişmeden kalır ve uygun izinlere sahip diğer kullanıcılar ve uygulamalar için kullanılabilir olmaya devam eder.

En iyi yöntemler

UDF kaynaklarıyla çalışırken aşağıdakileri göz önünde bulundurun:

  • UDF'lerin net parametre açıklamalarıyla ve dönüş türleriyle iyi belgelenmiş olduğundan emin olun.
  • Parametre doğrulama ve özel durum işleme dahil olmak üzere uygulama kodunuzda UDF hatalarını düzgün bir şekilde işleyin.
  • Beklenen sonuçları doğrulamak için dağıtımdan önce uygulama bağlamında UDF davranışını test edin.
  • Uygulama izinlerini planlarken temel alınan tablolarda veya veri kaynaklarında UDF bağımlılıklarını göz önünde bulundurun.