다음을 통해 공유


Databricks 앱이란?

Important

Databricks 앱은 공개 미리 보기제공됩니다.

Databricks 앱을 사용하면 개발자가 Databricks 플랫폼에서 보안 데이터 및 AI 애플리케이션을 만들고 해당 앱을 사용자와 공유할 수 있습니다.

이전에는 Databricks 작업 영역에서 관리하는 데이터와 Databricks 플랫폼의 데이터 분석 기능을 사용하는 데이터 및 AI 애플리케이션을 만들려면 별도의 인프라를 배포하여 애플리케이션을 호스트하고, 데이터 거버넌스 제어를 준수하고, 인증 및 권한 부여를 비롯한 애플리케이션 보안을 관리해야 했습니다. Databricks 앱을 사용하면 Databricks에서 앱을 호스트하므로 추가 인프라를 구성하거나 배포할 필요가 없습니다.

앱은 거버넌스용 Unity 카탈로그, Databricks SQL을 비롯한 Databricks 플랫폼의 리소스와 기능을 사용하여 데이터를 쿼리할 수 있으며, 모델 서비스, ETL용 Databricks 작업과 같은 AI 기능 및 앱에서 사용하는 데이터에 대한 액세스를 제어하는 규칙을 포함하여 작업 영역에서 이미 구성된 보안 규칙을 사용할 수 있습니다. 인증 및 권한 부여는 OAuth 및 서비스 주체를 비롯한 기존 Azure Databricks 기능을 사용합니다.

Databricks는 개발자를 위해 Databricks 앱을 디자인했습니다. Dash, Streamlit 또는 Gradio와 같은 프레임워크를 사용하여 Python에서 앱을 개발합니다. 앱은 이식 가능하므로 로컬로 만들고 디버그하고 Databricks 작업 영역에 배포한 다음 다른 작업 영역으로 이동할 수 있습니다.

요구 사항

작업 영역 요구 사항:

Azure Databricks 작업 영역에서 앱을 배포하고 실행하려면 작업 영역이 다음 요구 사항을 충족해야 합니다.

  • 방화벽이 도메인 *.databricksapps.com을 차단하지 않는지 확인해야 합니다.
  • Databricks 작업 영역은 지원되는 지역에 있어야 합니다. 서버리스 기능 가용성참조하세요.

개발 환경 요구 사항

로컬로 앱을 만들고 해당 앱을 Azure Databricks 작업 영역에 배포하려면 개발 환경이 다음 요구 사항을 충족해야 합니다.

  • Python 3.11 이상

  • Databricks 작업 영역에 액세스하도록 구성된 Databricks 명령줄 인터페이스(Databricks CLI), 버전 v0.229.0 이상. Databricks CLI를 설치하거나 업데이트하고 구성하려면 Databricks CLI 및 Databricks CLI대한 인증 설치 또는 업데이트 참조하세요.

  • Python용 Databricks SDK입니다. 다음을 사용하여 SDK를 설치할 수 있습니다.pip3

    pip3 install databricks-sdk

    Python용 Databricks SDK를 참조하세요.

  • (선택 사항) 앱이 Databricks SQL에 액세스해야 하는 경우 Python용 Databricks SQL 커넥터를 설치합니다. 다음을 사용하여 커넥터를 설치할 수 있습니다.pip3

    pip3 install databricks-sql-connector

Databricks 앱은 어디에서 개발해야 하나요?

PyCharm, IntelliJ IDEA 또는 Visual Studio Code와 같이 Python을 지원하는 모든 IDE에서 앱을 작성하고 테스트할 수 있습니다. Databricks는 Visual Studio Code 및 Visual Studio Code용 Databricks 확장을 사용하여 앱을 개발하는 것이 좋지만 Databricks Notebook 및 파일 편집기를 사용하여 Databricks 작업 영역에서 직접 코드를 편집할 수도 있습니다.

Databricks 앱을 개발하고 배포할 어떻게 할까요? 있나요?

로컬에서 앱을 개발하기 위해 일반적인 워크플로는 다음과 같습니다.

  • Visual Studio Code와 같은 기본 IDE에서 앱을 개발합니다.
  • 명령줄에서 로컬로 앱을 실행하고 브라우저에서 볼 수 있습니다.
  • 코드가 완료되고 테스트되면 코드 및 필요한 아티팩트가 Databricks 작업 영역으로 이동합니다.

Databricks 앱시작하기 참조하세요.

UI에서 앱을 만들거나 미리 빌드된 예제를 사용하려면 Databricks Apps UI에서 앱 만들기를 어떻게 할까요? 참조하세요.

Databricks 앱에서 Python 프레임워크를 사용할 수 있나요?

Dash, Streamlit 또는 Gradio와 같은 즐겨 찾는 Python 프레임워크를 사용하여 앱을 개발할 수 있습니다. Databricks Apps UI에서 인기 있는 Python 프레임워크를 사용하는 예제를 볼 수 있습니다. Databricks 앱 UI에서 앱을 만드는 어떻게 할까요? 참조하세요.

Databricks 앱은 권한 부여를 어떻게 관리하나요?

Databricks Apps 권한 부여 모델에는 앱에 액세스하는 사용자와 앱에 할당된 Azure Databricks 관리 서비스 주체가 포함됩니다.

  • 앱에 액세스하려면 사용자에게 앱에 대한 CAN_USE 또는 CAN_MANAGE 권한이 있어야 합니다. 앱에 사용 권한을 할당하는 방법에 대한 자세한 내용은 Databricks 앱에 대한 권한 구성을 참조하세요.

  • 앱이 만들어지면 Databricks Apps는 자동으로 Azure Databricks 관리 서비스 주체를 만들고 해당 서비스 주체를 앱에 할당합니다. 이 서비스 주체는 앱이 만들어진 작업 영역에만 액세스할 수 있으며 SQL 웨어하우스, 엔드포인트를 제공하는 모델 또는 Unity 카탈로그의 보안 개체와 같은 작업 영역의 리소스에 대한 액세스를 인증하고 권한을 부여하는 데 사용됩니다. 앱에서 데이터 또는 다른 작업 영역 리소스에 대한 모든 액세스는 앱 소유자 또는 사용자가 아닌 서비스 주체를 대신하여 수행됩니다.

    앱을 배포하는 사용자에게 해당 리소스에 대한 권한이 있는 경우 Databricks Apps는 CAN MANAGE 앱에 할당된 모든 리소스에 서비스 주체 권한을 자동으로 부여합니다. 서비스 주체가 테이블 또는 작업 영역 파일과 같은 다른 리소스에 액세스해야 하는 경우 계정 또는 작업 영역 관리자는 서비스 주체에게 해당 리소스에 대한 액세스 권한을 부여해야 합니다. 리소스에 대한 액세스 권한을 부여할 때 Databricks는 최소 권한 원칙을 따르고 필요한 최소 권한만 서비스 주체에 부여하는 것이 좋습니다. 서비스 주체 관리를 참조하세요.

    서비스 주체 이름은 앱 리소스 카드의 앱 세부 정보 페이지에서 찾을 수 있습니다 . 서비스 주체에는 앱 이름(예: 서비스 주체 이름 my-hello-world-app)이 포함됩니다 app-22ixod my-hello-world-app.

Databricks 앱을 만들 수 있는 사람은 누구인가요?

작업 영역의 모든 사용자는 앱을 만들 수 있습니다. 그러나 앱에 할당된 서비스 주체의 권한을 관리하려면 계정 또는 작업 영역 관리자여야 합니다.

내 Databricks 앱을 구성할 어떻게 할까요? 있나요?

Databricks 앱은 앱이 실행 중인 Databricks 호스트와 같이 앱이 액세스할 수 있는 여러 환경 변수를 자동으로 설정합니다. YAML 파일을 사용하여 사용자 지정 매개 변수를 설정할 수도 있습니다. Databricks 앱 구성을 참조하세요.

내 Databricks 앱을 Azure Databricks 서비스와 통합할 어떻게 할까요? 있나요?

앱은 Databricks SQL과 같은 Databricks 플랫폼 기능을 사용하여 데이터를 쿼리하고, 데이터 수집 및 처리를 위한 Databricks 작업, 생성 AI 모델에 액세스하는 Mosaic AI 모델 서비스, 중요한 정보를 관리하는 Databricks 비밀 등을 사용할 수 있습니다. 앱을 구성할 때 이러한 Databricks 플랫폼 기능을 리소스라고 합니다.

그러나 앱은 이식 가능하도록 설계되었기 때문에 Databricks는 앱이 특정 리소스에 의존하지 않는 것이 좋습니다. 예를 들어 특정 SQL 웨어하우스를 사용하도록 앱을 하드 코딩해서는 안 됩니다. 대신 앱을 만들거나 업데이트할 때 Databricks Apps UI에서 SQL 웨어하우스를 구성합니다.

또한 앱이 최소 필수 권한으로 실행되도록 구성되었으므로 새 리소스를 만들면 안 됩니다. 대신 기존 종속 서비스를 해결하기 위해 Databricks 플랫폼에 의존해야 합니다. 각 앱에는 Databricks 서비스 주체가 할당되어 있습니다. 앱을 만들거나 업데이트하는 동안 서비스 주체에 정의된 리소스 종속성에 대한 필수 권한이 부여됩니다.

Databricks 플랫폼 기능을 앱 리소스로 추가하는 방법에 대한 자세한 내용은 Databricks 앱에 Databricks 플랫폼 기능 할당을 참조하세요.

Databricks 앱에 대한 감사 로그는 어디에서 찾을 수 있나요?

앱에 대한 감사 이벤트를 찾으려면 Azure Databricks 시스템 테이블을 사용합니다. 시스템 테이블을 사용하여 쿼리할 수 있습니다.

Databricks 앱의 비용은 어떻게 됩니까?

Databricks 앱의 가격 책정에 대한 자세한 내용은 앱용 컴퓨팅을 참조 하세요.

Databricks 앱 시스템 환경

참고 항목

환경 변수 및 설치된 패키지를 포함하여 특정 앱의 환경을 보려면 앱의 세부 정보 페이지에서 환경 탭으로 이동합니다. Databricks 앱에 대한 세부 정보 보기를 참조 하세요.

다음은 앱이 실행되는 시스템 환경, 앱에서 사용할 수 있는 리소스 및 설치된 애플리케이션 및 라이브러리의 버전에 대해 설명합니다.

  • 운영 체제: Ubuntu 22.04 LTS
  • Python: 3.11.0. 앱은 Python 가상 환경에서 실행됩니다. 모든 종속성은 자동으로 설치된 라이브러리 및 설치하는 모든 라이브러리(예 requirements.txt : 파일 포함)를 포함하여 이 가상 환경에 설치됩니다.
  • 시스템 리소스: 앱은 최대 2개의 vCPU(가상 CPU)와 6GB의 메모리를 사용할 수 있습니다. 할당된 리소스를 초과하는 경우 앱이 다시 시작될 수 있습니다.

설치된 Python 라이브러리

라이브러리 버전
databricks-sql-connector 3.4.0
databricks-sdk 0.33.0
mlflow-skinny 2.16.2
gradio 4.44.0
streamlit 1.38.0
shiny 1.1.0
대시 2.18.1
flask 3.0.3
fastapi 0.115.0
uvicorn[standard] 0.30.6
gunicorn 23.0.0
dash-ag-grid 31.2.0
dash-mantine-components 0.14.4
dash-bootstrap-components 1.6.0
plotly 5.24.1
plotly-resampler 0.10.0

제한 사항

  • Databricks 작업 영역에는 50개의 앱이 제한됩니다.

  • 앱에서 사용하는 파일의 크기는 10MB를 초과할 수 없습니다. 앱 디렉터리의 파일이 이 제한을 초과하면 오류와 함께 앱 배포가 실패합니다.

  • Databricks 앱은 HIPAA, PCI 또는 FedRAMP 규정 준수 표준을 충족하지 않습니다.

  • 앱에서 만든 로그는 앱을 호스팅하는 Azure Databricks 컴퓨팅이 종료될 때 유지되지 않습니다. Databricks 앱에서 로깅을 참조하세요.

  • OAuth를 지원하지 않으므로 Databricks 앱에서 레거시 지역 URL을 사용할 수 없습니다.