다음을 통해 공유


Databricks 앱에 UDF(사용자 정의 함수) 리소스 추가

Unity 카탈로그 에 등록된 UDF(사용자 정의 함수) 를 Databricks Apps 리소스로 추가하여 앱이 등록된 SQL 및 Python 함수를 실행할 수 있도록 합니다. UDF는 중앙 집중식 거버넌스를 사용하여 조직 전체에서 공유할 수 있는 재사용 가능한 비즈니스 논리, 데이터 변환 및 사용자 지정 작업을 제공합니다.

권한 요구 사항

UDF를 실행하려면 앱의 서비스 주체에 USE CATALOG 부모 카탈로그에 대한 권한, USE SCHEMA 부모 스키마에 대한 권한 및 EXECUTE 함수에 대한 권한이 있어야 합니다. UDF 리소스를 추가하면 Azure Databricks는 앱의 서비스 주체에게 이러한 권한을 자동으로 부여합니다.

이 자동 부여가 성공하려면 각 권한에 대해 다음 중 하나가 true여야 합니다.

  • 의 경우 USE CATALOG: 모든 계정 사용자가 카탈로그에 USE CATALOG 권한이 있거나, 당신이 카탈로그에 MANAGE 권한을 가지고 있습니다.
  • 의 경우 USE SCHEMA: 모든 계정 사용자가 스키마에 대한 USE SCHEMA 권한을 가지고 있거나, 당신이 스키마에 대한 MANAGE 권한을 가지고 있습니다.
  • 함수에 대한 EXECUTE 권한이 모든 계정 사용자에게 있거나, 또는 함수에 대한 MANAGE 권한이 귀하에게 있습니다.

Unity 카탈로그 권한 및 보안 개체을 참조하세요.

UDF(사용자 정의 함수) 리소스 추가

UDF를 리소스로 추가하기 전에 앱 리소스 필수 구성 요소를 검토합니다.

  1. 앱을 만들거나 편집할 때 구성 단계로 이동합니다.
  2. 앱 리소스 섹션에서 + 리소스 추가를 클릭합니다.
  3. 리소스 유형으로 UC 함수 를 선택합니다.
  4. 작업 영역의 사용 가능한 함수에서 UDF를 선택합니다. 함수는 Unity 카탈로그에 이미 등록되어 있어야 합니다.
  5. 앱에 대한 권한 수준을 선택합니다.
    • 다음을 실행할 수 있습니다. 제공된 매개 변수를 사용하여 UDF를 실행할 수 있는 권한을 앱에 부여합니다. EXECUTE 권한에 해당합니다.
  6. (선택 사항) 앱 구성에서 UDF를 참조하는 방법인 사용자 지정 리소스 키를 지정합니다. 기본 키는 .입니다 function.

환경 변수

UDF 리소스를 사용하여 앱을 배포하는 경우 Azure Databricks는 필드를 사용하여 valueFrom 참조할 수 있는 환경 변수를 통해 전체 3개 수준 이름을 노출합니다.

구성 예제:

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

애플리케이션에서 함수 사용:

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

자세한 내용은 환경 변수를 사용하여 리소스에 액세스하는 방법을 참조하세요.

UDF(사용자 정의 함수) 리소스 제거

앱에서 UDF 리소스를 제거하면 앱의 서비스 주체가 함수에 대한 액세스 권한을 잃게 됩니다. UDF 자체는 변경되지 않고 적절한 권한이 있는 다른 사용자 및 애플리케이션에서 계속 사용할 수 있습니다.

모범 사례

UDF 리소스를 사용하는 경우 다음을 고려합니다.

  • UDF가 명확한 매개 변수 설명 및 반환 형식으로 잘 문서화되어 있는지 확인합니다.
  • 매개 변수 유효성 검사 및 예외 처리를 포함하여 앱 코드에서 UDF 오류를 정상적으로 처리합니다.
  • 배포 전에 앱 컨텍스트에서 UDF 동작을 테스트하여 예상 결과를 확인합니다.
  • 앱 권한을 계획할 때 기본 테이블 또는 데이터 원본에 대한 UDF 종속성을 고려합니다.