Machine Learning Workbench and Project Setup
What the domain tests
This domain checks whether you can stand up a Cloudera AI Workbench project that is reproducible, secure, and shareable. Expect questions on project structure, sessions, runtimes and engines, resource profiles, Git-backed code, environment variables, secrets, and collaborator roles. The workbench is where data scientists launch interactive sessions, but the exam treats it as a governed CDP workspace, not a personal laptop.
Core rules
- A project is the unit of collaboration: code, notebooks, small artifacts, and configuration live there; large datasets belong in HDFS, Ozone, S3, ADLS, or Hive and Impala tables.
- A session is interactive compute tied to a runtime. Choose a runtime that matches the Python or R version, Spark version, and libraries the project needs. Pin dependencies in requirements.txt, conda.yaml, or the runtime image rather than installing ad hoc in every session.
- Resource profiles set CPU, memory, and GPU. Size for the workload: driver-heavy pandas work needs memory; distributed Spark work needs executors; deep learning needs GPU.
- Project roles separate viewing, editing, and administration. Grant the least privilege; a Viewer should not be expected to modify jobs or deployments.
- Secrets belong in project secrets or a secret manager, referenced through environment variables. Never commit passwords, tokens, or keys to Git.
Worked example
A team imports a Git repository into a new project. The code needs Python 3.9, Spark 3, and a PostgreSQL password. The engineer selects a runtime with those versions, creates a 4 vCPU and 16 GiB resource profile for development, adds the password as a project secret, and maps it to an environment variable. They add a colleague as Editor because the colleague must change notebooks, and a reviewer as Viewer. Reasoning: the runtime fixes library drift, the secret keeps credentials out of code, and roles match duties. A smaller profile would risk out-of-memory errors during local pandas joins.
Traps
- Choosing the default runtime and then pip-installing a different Spark connector per session.
- Storing credentials in notebook cells or Git.
- Confusing project files with data-lake storage and copying large data into the project.
- Giving every collaborator Owner or Editor.
- Forgetting idle-session timeouts and leaving expensive GPU sessions running.