6 — Classroom Fixes

Facilitator Guide — troubleshooting

TRAINER ONLY

Day-of navigation (follow in order on delivery day):

Index2 Room prep3 Schedule & roles4 Module rhythm5 Module 7 runbook6 Classroom fixes7 Close & after

Before class: Platform dependency order (sidebar · links into checklist)


On this page


General & timing

Situation Response
Pair stuck on Bronze ingest Point to checkpoint data / co-trainer pairs in
Reflection runs long 5-min timer; capture 3 bullets max on whiteboard
Running late in Module 2–4 Cut discussion to 5 min — never cut lab

Module 2 — Databricks

Situation Response
Attendee cannot find notebooks in Databricks Guide to trainer’s shared Git folder: Workspace → Users → {trainer email} → MHP-DE-Workshop-2026; attendee clones 00_setup.py to Home per Databricks setup
Attendee’s Databricks cluster won’t start Check Compute page for error message; try Restart; if stuck >5 min, assign a buddy cluster
Story / Modules / During & after still locked on training day Likely Lock was clicked before delivery during dry-run — that sets force_locked and blocks midnight auto-open. Unlock each section (or all three) in Trainee management; after deploy, pre-delivery Lock no longer sets force_locked
Trainee can create compute without Workshop policy workshop_trainees_2026 → Entitlements: turn Allow unrestricted cluster creation off; keep Workspace access, Databricks SQL access, and Admin access onpre-class checklist § Entitlements
Databricks “Cannot see catalog” error Catalog permissions not applied — grant ALL PRIVILEGES on mhpdeworkshop_databricks_2026 to workshop_trainees_2026 via pre-class checklist § Databricks (Catalog → Permissions)
Databricks CLI 403 Forbidden PAT may be expired or lack admin scope — generate a new token: Settings → User Settings → Access Tokens; ensure workspace has admin consent for CLI apps

Module 3 — Snowflake

Situation Response
Snowflake trial signup fails Suggest using a different email; check spam folder for verification email; trial creation can take 5–10 min
Snowflake 02_account_setup.sql fails Check attendee is using ACCOUNTADMIN role (default for trial); confirm SET attendee_id = '...' was run first
Snowflake DE_WORKSHOP_ROLE not found The role is created by 02_account_setup.sql — re-run the script; or manually: CREATE ROLE DE_WORKSHOP_ROLE;
Snowflake External Stage cannot list files ADLS2 SAS token may be expired or have extra spaces; re-copy from trainer handout; verify stage URL matches mhpdeworkshopsa.blob.core.windows.net
Snowflake warehouse shows “Suspended” Click warehouse name at top-right → click Resume; wait ~10 seconds for Started status
Workspaces SQL file shows “No results” Check session variable: SELECT $attendee_id; — if null, re-run the SET statement at the top

Module 4 — dbt

Situation Response
“dbt replaces Snowflake” Draw platform box; dbt inside as transform layer
dbt debug fails with connection error Check profiles.yml — confirm database: DE_MASTERCLASS, role: DE_WORKSHOP_ROLE, and correct Snowflake account/user/password

Module 7 — Discussion

Situation Response
Vendor debate in Module 7 “We’re advising Marcus, not picking a winner for MHP.”

Module 8 — Streaming

Situation Response
Module 8: workshop-scope secrets scope missing Trainer must create scope before class (see pre-class checklist § Databricks secrets); or guide attendee: databricks secrets create-scope --scope workshop-scope
Databricks: ClassNotFoundException for Kafka / Avro Install both Maven libs on cluster and restart: spark-sql-kafka-0-10_2.12:3.5.0, spark-avro_2.12:3.5.0 — see Aiven streaming setup
Databricks: ssl.SSLError or AuthenticationException Check workshop-scope secrets (aiven-ca-cert, bootstrap servers, client cert/key) — facilitator reloads from Aiven Console
Snowflake Bronze empty after 3+ min Confirm relay consumer running; check ADLS2 path streaming/user-activity/ for new files; run ALTER PIPE … REFRESH if Event Grid not configured
Snowflake setup script fails on config Attendee must complete 02_account_setup.sql + 04_external_stage.sql first (_workshop_config missing)
Aiven service offline Free tier shuts down after 24h idle — restart from Aiven Console; restart User Activity generator (4h max runtime)
dbt streaming models in wrong schema dbt lands in {ATTENDEE_ID}_DBT_STREAMING, not _STREAMING — see dbt_project.yml +schema: dbt_streaming

Module 9 — ML

Situation Response
Databricks Experiments page is empty The experiment appears after the first mlflow.start_run() call — run the training notebook first
ML.FORECAST returns error in Snowflake Run Step A0 in ml/snowflake/01_cortex_ml.sql to create V_HOURLY_TRIPS_BY_BOROUGH; if access denied, attendee re-runs 05_cortex_access.sql on their trial
Snowflake Task exercise fails on table name Gold tables are kpi_* (e.g. kpi_trips_by_hour), not GOLD_KPI_*
AI_COMPLETE or ML.FORECAST access denied Trainee re-runs snowflake/sql/setup/05_cortex_access.sql as ACCOUNTADMIN on their trial; confirm SNOWFLAKE.CORTEX_USER on DE_WORKSHOP_ROLE or SYSADMIN
Snowpark ML stretch: table not found Script defaults to _SQL_SILVER / _SQL_GOLD — complete Module 3 SQL track first; or set SNOWFLAKE_SILVER_SCHEMA / SNOWFLAKE_GOLD_SCHEMA for _SP_* track
dbt ml_features not in _SQL_GOLD dbt lands in {ATTENDEE_ID}_DBT_GOLD — check SHOW TABLES IN SCHEMA …_DBT_GOLD
dbt accepted_values fails on payment type Use 'Credit card' exactly (title case) — matches Silver pipeline casing
Cortex Part C SQL fails Part C is optional — requires Stretch B Snowpark ML (ML_TIP_PREDICTIONS_SNOWPARK)
Genie space empty Connect Genie to {attendee_id}_gold schema after Gold KPIs exist
Snowpark NameError: session in production sproc snowpark_sproc.py imports from _snowpark_bootstrap.py — edit fallback block or use .env

Power BI

Situation Response
Power BI cannot connect to Snowflake Verify warehouse is Started; check server URL matches <account>.snowflakecomputing.com; use DirectQuery mode

Next 7 — Close & after End-of-day script and post-class tasks