이 페이지에서는 Databricks 기능 엔지니어링 및 Databricks 레거시 작업 영역 기능 저장소의 Python API 설명서에 대한 링크와 databricks-feature-engineering 및 databricks-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.0mlflow>=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사용할 수 있습니다.
databricks-feature-store v0.17.0에 대한 최신 작업 영역 기능 저장소 API 참조는 FeatureStoreClient의 Databricks 를 참조하세요.
v0.16.3 이하의 경우 표의 링크를 사용하여 기능 저장소 Python API 참조를 다운로드하거나 표시합니다. Databricks Runtime ML 버전에 대해 미리 설치된 버전을 확인하려면 호환성 매트릭스를 참조하세요.
| 버전 | PDF 다운로드 | 온라인 API 참조 |
|---|---|---|
| v0.3.5에서 v0.16.3으로 | Feature Store 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-engineeringUnity 카탈로그 및 작업 영역 기능 저장소 모두에서 기능 테이블을 사용하기 위한 모듈을 포함합니다. 버전 0.2.0 이하의databricks-feature-engineeringUnity 카탈로그의 기능 테이블에서만 작동합니다.
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-engineering 대신 pip install databricks-feature-engineering을 사용하십시오. 모든 모듈이 databricks-feature-store 이동 databricks-feature-engineering되었으므로 코드를 변경할 필요가 없습니다.
from databricks.feature_store import FeatureStoreClient을 설치한 후에도 databricks-feature-engineering와 같은 import 문은 계속 작동합니다.
Unity 카탈로그에서 기능 테이블을 사용하려면 FeatureEngineeringClient사용합니다. 작업 영역 기능 저장소를 사용하려면 FeatureStoreClient를 사용해야 합니다.
지원되는 시나리오
Databricks에서는 Databricks Runtime과 Databricks 머신 러닝용 Runtime을 포함하여 다음을 수행할 수 있습니다.
- 기능 테이블을 만들고 읽고 씁니다.
- 기능 데이터에 대해 모델을 학습시키고 채점
- 실시간 서비스를 위해 온라인 스토어에 기능 테이블을 게시합니다.
로컬 환경 또는 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 사용을 참조하세요.