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)