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 Uygulamaları 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 uygulamanın hizmet sorumlusuna otomatik olarak bu ayrıcalıkları 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ı referansı.

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. Uygulama oluştururken veya düzenlerken Uygulama kaynakları bölümünde + Kaynak>ekle UC işlevi'ne tıklayın.
  2. Ç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.
  3. 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.
  4. (İ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, valueFrom alanını kullanarak başvurabileceğiniz ortam değişkenleri aracılığıyla tam üç düzeyli adı kullanıma sunar.

Ö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.