다음을 통해 공유


기능 엔지니어링 및 작업 영역 기능 저장소 Python API

이 페이지에서는 Databricks 기능 엔지니어링 및 Databricks 레거시 작업 영역 기능 저장소의 Python API 설명서에 대한 링크와 databricks-feature-engineeringdatabricks-feature-store클라이언트 패키지에 대한 정보를 제공합니다.

참고 항목

버전 0.17.0 databricks-feature-store 부터는 더 이상 사용되지 않습니다. 이 패키지의 모든 기존 모듈은 이제 버전 0.2.0 이상에서 databricks-feature-engineering 사용할 수 있습니다. 마이그레이션에 databricks-feature-engineering대한 자세한 내용은 databricks-feature-engineering으로 마이그레이션을 참조 하세요.

호환성 매트릭스

다음 표와 같이 사용해야 하는 패키지 및 클라이언트는 기능 테이블의 위치와 실행 중인 Databricks Runtime ML 버전에 따라 달라집니다.

Databricks Runtime ML 버전에 기본 제공되는 패키지 버전을 식별하려면 기능 엔지니어링 호환성 매트릭스참조하세요.

Databricks Runtime 버전 기능 테이블의 경우 패키지 사용 Python 클라이언트 사용
Databricks Runtime 14.3 ML 이상 Unity 카탈로그 databricks-feature-engineering FeatureEngineeringClient
Databricks Runtime 14.3 ML 이상 작업 영역 databricks-feature-engineering FeatureStoreClient
Databricks Runtime 14.2 ML 이하 Unity 카탈로그 databricks-feature-engineering FeatureEngineeringClient
Databricks Runtime 14.2 ML 이하 작업 영역 databricks-feature-store FeatureStoreClient

참고 항목

  • databricks-feature-engineering<=0.7.0 mlflow>=2.18.0호환되지 않습니다. MLflow 2.18.0 이상에서 databricks-feature-engineering 사용하려면 databricks-feature-engineering 버전 0.8.0 이상으로 업그레이드합니다.

릴리스 정보

Databricks 기능 엔지니어링 및 레거시 작업 영역 기능 저장소에 대한 릴리스 노트를 참조하세요.

기능 엔지니어링 Python API 참조

기능 엔지니어링 Python API 참조를 참조하세요.

작업 영역 기능 저장소 Python API 참조(사용되지 않음)

참고 항목

  • 버전 0.17.0 databricks-feature-store 부터는 더 이상 사용되지 않습니다. 이 패키지의 모든 기존 모듈은 이제 버전 0.2.0 이상에서 databricks-feature-engineering 사용할 수 있습니다.

v0.17.0의 경우 databricks-feature-store 최신 작업 영역 기능 저장소 API 참조는 FeatureStoreClient의 Databricks 를 참조하세요.

v0.16.3 이하의 경우 표의 링크를 사용하여 기능 저장소 Python API 참조를 다운로드하거나 표시합니다. Databricks Runtime ML 버전에 대해 미리 설치된 버전을 확인하려면 호환성 매트릭스를 참조하세요.

버전 PDF 다운로드 온라인 API 참조
v0.3.5에서 v0.16.3으로 기능 저장소 Python API 0.16.3 참조 PDF 온라인 API 참조
v0.3.5 이하 기능 저장소 Python API 0.3.5 참조 PDF 온라인 API 참조를 사용할 수 없음

Python 패키지

이 섹션에서는 Databricks 기능 엔지니어링 및 Databricks 작업 영역 기능 저장소를 사용하기 위해 Python 패키지를 설치하는 방법을 설명합니다.

기능 엔지니어링

참고 항목

  • 버전 0.2.0 databricks-feature-engineering 을 기준으로 Unity 카탈로그 및 작업 영역 기능 저장소 모두에서 기능 테이블을 사용하기 위한 모듈이 포함되어 있습니다. databricks-feature-engineering 아래 버전 0.2.0은 Unity 카탈로그의 기능 테이블에서만 작동합니다.

Databricks 기능 엔지니어링 API는 Python 클라이언트 패키지를 databricks-feature-engineering통해 사용할 수 있습니다. 클라이언트는 PyPI에서 사용할 수 있으며 Databricks Runtime 13.3 LTS ML 이상에 미리 설치되어 있습니다.

런타임 버전에 해당하는 클라이언트 버전에 대한 참조는 호환성 매트릭스참조하세요.

Databricks Runtime에 클라이언트를 설치하려면 다음을 수행합니다.

%pip install databricks-feature-engineering

로컬 Python 환경에 클라이언트를 설치하려면 다음을 수행합니다.

pip install databricks-feature-engineering

작업 영역 기능 저장소(사용되지 않음)

참고 항목

  • 버전 0.17.0 databricks-feature-store 부터는 더 이상 사용되지 않습니다. 이 패키지의 모든 기존 모듈은 이제 버전 0.2.0 이상에서 databricks-feature-engineering사용할 수 있습니다.
  • 자세한 내용은 databricks-feature-engineering으로 마이그레이션을 참조하세요.

Databricks 기능 저장소 API는 Python 클라이언트 패키지를 databricks-feature-store통해 사용할 수 있습니다. 클라이언트는 PyPI에서 사용할 수 있으며 Machine Learning용 Databricks Runtime에 미리 설치되어 있습니다. 어떤 런타임에 어떤 클라이언트 버전이 포함되는지에 대한 참조는 호환성 매트릭스참조하세요.

Databricks Runtime에 클라이언트를 설치하려면 다음을 수행합니다.

%pip install databricks-feature-store

로컬 Python 환경에 클라이언트를 설치하려면 다음을 수행합니다.

pip install databricks-feature-store

다음으로 마이그레이션 databricks-feature-engineering

패키지를 databricks-feature-engineeringpip install databricks-feature-engineering설치 pip install databricks-feature-store 하려면 . 모든 모듈이 databricks-feature-store 이동 databricks-feature-engineering되었으므로 코드를 변경할 필요가 없습니다. 설치from databricks.feature_store import FeatureStoreClient한 후에도 다음과 같은 databricks-feature-engineering Import 문이 계속 작동합니다.

Unity 카탈로그에서 기능 테이블을 사용하려면 .를 사용합니다 FeatureEngineeringClient. 작업 영역 기능 저장소를 FeatureStoreClient사용하려면 .

지원되는 시나리오

Databricks Runtime 및 Machine Learning용 Databricks Runtime을 포함한 Databricks에서 다음을 수행할 수 있습니다.

  • 기능 테이블 만들기, 읽기 및 쓰기
  • 기능 데이터에 대해 모델을 학습시키고 채점
  • 실시간 서비스 제공을 위해 온라인 스토어에 기능 테이블 게시

로컬 환경 또는 Databricks 외부 환경에서 다음을 수행할 수 있습니다.

  • 로컬 IDE 지원으로 코드를 개발합니다.
  • 모의 프레임워크를 사용하여 단위 테스트
  • Databricks에서 실행할 통합 테스트 작성

제한 사항

클라이언트 라이브러리는 Databricks Runtime 및 Machine Learning용 Databricks 런타임을 포함한 Databricks에서만 실행할 수 있습니다. 로컬 환경 또는 Databricks 이외의 환경에서 Unity 카탈로그 또는 기능 저장소 API의 기능 엔지니어링 호출을 지원하지 않습니다.

단위 테스트에 클라이언트 사용

단위 테스트를 실행하는 데 도움이 되도록 Unity 카탈로그 클라이언트 또는 기능 저장소 클라이언트에 기능 엔지니어링을 로컬로 설치할 수 있습니다.

예를 들어 메서드 update_customer_features 가 올바르게 호출 FeatureEngineeringClient.write_table (또는 작업 영역 기능 저장소 FeatureStoreClient.write_table)되었는지 확인하려면 다음을 작성할 수 있습니다.

from unittest.mock import MagicMock, patch

from my_feature_update_module import update_customer_features
from databricks.feature_engineering import FeatureEngineeringClient

@patch.object(FeatureEngineeringClient, "write_table")
@patch("my_feature_update_module.compute_customer_features")
def test_something(compute_customer_features, mock_write_table):
  customer_features_df = MagicMock()
  compute_customer_features.return_value = customer_features_df

  update_customer_features()  # Function being tested

  mock_write_table.assert_called_once_with(
    name='ml.recommender_system.customer_features',
    df=customer_features_df,
    mode='merge'
  )

통합 테스트에 클라이언트 사용

Unity 카탈로그 클라이언트의 기능 엔지니어링 또는 Databricks의 기능 저장소 클라이언트를 사용하여 통합 테스트를 실행할 수 있습니다. 자세한 내용은 개발자 도구 및 지침: CI/CD 사용을 참조하세요.