Based on the MLS-C01 exam guideReport an error
[Raw Data]
│ Day 1: Transformation (ETL)
▼ Glue (serverless Spark) / EMR (full-control cluster)
[Cleaned and Processed Data]
│ Day 2: Pipeline Automation
▼ Step Functions (general-purpose) / SageMaker Pipelines (ML-specific) + EventBridge trigger
[Reproducible Training Dataset]
│ Day 3: Augmentation, Synthesis, Imbalance Handling
▼ Augmentation (flip, back-translation) / Synthesis (GAN) / SMOTE, class weights
[Sufficient and Balanced Dataset]
│ Day 4: Storage and Access Optimization
▼ File/Pipe/FastFile mode / FSx for Lustre / ShardedByS3Key
[Efficiently Supplied to Training] → Model Training
Core message: Data preparation doesn't end with a single transformation step. Processing → automation → augmentation → efficient supply all directly affect model quality and cost.
💡 Concept: Three axes for the Glue vs EMR decision — operational burden (minimize → Glue), workload type (short and sporadic → Glue, long and heavy batch → EMR), framework variety (Spark only → Glue, multiple engines → EMR).
⚠️ Pitfall: "It's ML, so definitely SageMaker Pipelines" is an oversimplified wrong answer. If there are many non-ML steps, approvals, or complex branching, Step Functions is more suitable.
SMOTE, unlike simple duplication, creates new points by interpolating between a minority sample and its nearest neighbors. With an imbalance like 1:999, accuracy gives false reassurance, so evaluation should use recall and PR-AUC.
| Option | One-line summary | Best for |
|---|---|---|
| File mode | Full download, then start | Small scale, repeated reads |
| Pipe mode | S3 streaming, immediate start | Very large data, sequential processing |
| FastFile mode | Streaming + POSIX access | Large data + random access |
| FSx for Lustre | Ultra-fast parallel FS, S3 integration | Large scale + repeated + low latency + distributed |
| EFS | Managed NFS, multiple mounts | Shared by several jobs/notebooks |
| ShardedByS3Key | Data split and distributed per node | Data-parallel distributed training |
🎯 Integrated scenario: "Several TB of data, 8 GPU nodes, startup is too slow." → Split the data into multiple Parquet shards (Day 1) → auto-generate through a pipeline (Day 2) → if imbalanced, SMOTE/weights (Day 3) → supply with ShardedByS3Key + FSx for Lustre (Day 4).
| Role | Tool / technique | One line |
|---|---|---|
| Serverless ETL | AWS Glue | Spark transformations without cluster management |
| Metadata | Glue Data Catalog | Central repository for schemas, locations, partitions |
| No-code cleansing | Glue DataBrew | Visual cleansing recipes |
| Big-data cluster | Amazon EMR | Directly operate Hadoop, Spark, Hive, Presto |
| Middle option | EMR Serverless | Run just Spark jobs, no cluster |
| General orchestration | AWS Step Functions | Connect heterogeneous services with a state machine |
| ML pipeline | SageMaker Pipelines | ML-specific CI/CD, lineage built in |
| Trigger | Amazon EventBridge | Start pipelines on cron or events |
| Preprocessing execution | SageMaker Processing | Managed distributed preprocessing/evaluation jobs |
| Imbalance correction | SMOTE, class weights | Data-layer and algorithm-layer responses |
| Data supply | File / Pipe / FastFile | Startup delay vs random access |
| High-speed storage | FSx for Lustre | Repeated, high-throughput training I/O |
| Distributed allocation | ShardedByS3Key | Allocate data pieces per node |
| Confusing pair | Decisive difference |
|---|---|
| Glue vs EMR | Serverless, minimal operations vs full control, multiple frameworks |
| Glue Crawler vs Glue ETL Job | Schema inference and registration vs actual data transformation |
| Step Functions vs SageMaker Pipelines | General-purpose, mixed workflows vs ML-specific, lineage |
| Augmentation vs Synthesis | Transform existing data vs generate new virtual data |
| Oversampling vs SMOTE | Simple duplication vs interpolated synthesis |
| Undersampling vs class weights | Throw data away vs adjust the penalty in the loss |
| File vs Pipe vs FastFile | Full download vs streaming vs a compromise |
| FullyReplicated vs ShardedByS3Key | Full replication vs per-node splitting |
| Data parallel vs model parallel | Split the data vs split the model |
| accuracy vs PR-AUC | For balanced data vs for extreme imbalance |
The question pattern in the MLS-C01 data engineering domain is almost always a trade-off judgment of "cost / operational burden / scale / access pattern." The answer is not a single technology but a choice matching the situation (requirements). The key is training to find clues in the problem such as "minimal operations," "very large data," "random access needed," and "non-ML steps included," and map them.
| Phrase in the passage | What to recall immediately |
|---|---|
| "Few operations staff," "don't want to manage clusters" | Glue or EMR Serverless |
| "Hive and Presto too," "fine-grained tuning" | Amazon EMR |
| "Cut costs with spot" | EMR task nodes |
| "Approval wait," "integration with external systems" | Step Functions |
| "Lineage," "model registry," "pure ML CI/CD" | SageMaker Pipelines |
| "Run automatically when new data arrives" | S3 event / EventBridge |
| "Positives are 0.2%," "can't catch fraud" | SMOTE/class weights + recall/PR-AUC |
| "Can't use real data because of privacy" | Synthetic data |
| "Labels must not change" | Domain-meaning-preserving augmentation |
| "GPUs wait on downloads" | Pipe/FastFile mode |
| "Repeated training on the same data" | FSx for Lustre |
| "Every node receives the whole dataset" | ShardedByS3Key |
| "The model doesn't fit in GPU memory" | Model parallelism |
Answer these in your head.
ShardedByS3Key to work? → Data split across multiple S3 objectsUnderlying every choice is a trade-off of cost, operational burden, scale, and access pattern. Next week we move into serious modeling and algorithms on top of this prepared data.
Click a choice to reveal the answer and explanation.
Question 1
A team with limited operations staff runs standard Spark transformations daily and wants to build ML CI/CD that retrains a model from the results, with lineage tracking. What is the most natural combination?
Question 2
In extremely imbalanced data of 1:999, you want to increase the minority class by synthesizing through interpolation instead of simple duplication, and avoid false reassurance in evaluation. Which combination is appropriate?
Question 3
When training on several TB of data in a data-parallel fashion across 8 nodes, you want to eliminate duplicate downloads on each node and reduce start-up delay. Which design is MOST appropriate?
Question 4
A data transformation workflow mixes non-ML steps (waiting for external approval, Lambda post-processing) with SageMaker training and requires complex branching and retries. Which is the most appropriate top-level orchestrator?
Question 5
When answering tool-selection questions in the MLS-C01 data engineering domain, what is the most essential decision criterion?