Slide 20
Slide 20 text
© 2025 estie Inc.
materialization の使い⽅はシンプル
• 学習側では materialized=model としたうえで Model Registry に保存できるオブジェクトを
return する
• 推論側では ref から得られる名前を⽤い Model Registry からモデルを読み込む
独⾃ materialization の使⽤
19
def model(dbt, session):
dbt.config(
materialized="model",
packages=["snowflake-ml-python", "scikit-learn"],
)
buildings = dbt.source("DMG_RDS_MEDAMAYAKI", "BUILDINGS")
mappings = dbt.source("DMG_WAREHOUSE", "PLATEAU_BUILDING_MAPPINGS")
plateau_buildings = dbt.source("DMG_WAREHOUSE", "PLATEAU_BUILDINGS")
...
# モデルの学習
model = GradientBoostingRegressor(verbose=1)
model.fit(x[train_idx, :], y[train_idx])
return {
"model": model,
"signatures": {"predict": model_signature.infer_signature(x, y)},
}
def model(dbt, session):
dbt.config(
materialized=”table",
packages=["snowflake-ml-python", "scikit-learn"],
)
buildings = dbt.source("DMG_RDS_MEDAMAYAKI", "BUILDINGS")
mappings = dbt.source("DMG_WAREHOUSE", "PLATEAU_BUILDING_MAPPINGS")
plateau_buildings = dbt.source("DMG_WAREHOUSE", "PLATEAU_BUILDINGS")
...
reg = registry.Registry(session=session)
ref_std = dbt.ref("WAREHOUSE_MODEL_BUILDING_STANDARD_FLOOR_AREA")
mv = reg.get_model(ref_stg.table_name).default
pred = mv.run(x, function_name="PREDICT")
result["ESTIMATED_STANDARD_FLOOR_AREA"] = np.exp(pred.values)
return result