MindsDB 설정
MindsDB 설정
dbt를 MindsDB에 연결하기 위한 설정을 정리한 페이지예요. 인증 정보와 예측 모델(predictor) materialization을 사용해 dbt 모델로 MindsDB 예측기를 만들고 적용하는 방법을 소개해요.
출처: dbt 공식 문서
본문
인증
dbt를 MindsDB에 성공적으로 연결하려면 MindsDB 인스턴스에서 다음 설정을 제공해야 해요.
| 키 | 필수 | 설명 | Self-hosted | MindsDB Cloud |
|---|---|---|---|---|
| type | ✔️ | 사용할 특정 어댑터 | mindsdb |
mindsdb |
| host | ✔️ | 연결할 MindsDB (호스트명) | 기본값 172.0.0.1 |
기본값 cloud.mindsdb.com |
| port | ✔️ | 사용할 포트 | 기본값 47335 |
기본값 3306 |
| schema | ✔️ | 모델을 만들 스키마(데이터베이스) 지정 | MindsDB integration 이름 | MindsDB integration 이름 |
| username | ✔️ | 서버에 연결할 때 사용할 사용자 이름 | 기본값 mindsdb |
Your mindsdb cloud username |
| password | ✔️ | 서버 인증에 사용할 비밀번호 | 기본적으로 비밀번호 없음 | Your mindsdb cloud password |
사용법
dbt 프로젝트를 만들고, database로 mindsdb를 선택한 뒤 연결을 설정해요. dbt debug로 연결이 잘 되는지 확인해요.
dbt init <project_name>
예측기(predictor)를 만들려면 "predictor" materialization으로 dbt 모델을 만들어요. 모델의 이름이 예측기의 이름이 돼요.
파라미터
integration- 데이터를 가져오고 결과를 저장할 때 사용할 integration 이름이에요.CREATE DATABASE구문으로 MindsDB에 미리 만들어져 있어야 해요.predict- 예측할 필드예요.predict_alias[선택] - 예측된 필드의 별칭이에요.using[선택] - 학습된 모델을 구성하는 옵션이에요.
-- my_first_model.sql
{{
config(
materialized='predictor',
integration='photorep',
predict='name',
predict_alias='name',
using={
'encoders.location.module': 'CategoricalAutoEncoder',
'encoders.rental_price.module': 'NumericEncoder'
}
)
}}
select * from stores
예측기를 적용하려면 "table" materialization으로 dbt 모델을 추가해요. 선택한 integration에 예측기 결과로 테이블을 만들거나 교체해요. 모델 이름이 예측 결과를 저장하는 테이블 이름으로 쓰여요. 스키마를 지정해야 한다면 점 구분자로 지정할 수 있어요: schema_name.table_name.sql
파라미터
predictor_name- 예측기의 이름이에요. MindsDB에 미리 만들어져 있어야 해요.integration- 데이터를 가져오고 결과를 저장할 때 사용할 integration 이름이에요.CREATE DATABASE구문으로 MindsDB에 미리 만들어져 있어야 해요.
{{ config(materialized='table', predictor_name='TEST_PREDICTOR_NAME', integration='photorep') }}
select a, bc from ddd where name > latest
더 알아보기 (Learn more)
- MindsDB CREATE DATABASE — integration 만들기
- MindsDB 문서 — 공식 MindsDB 참고 자료