QuestionQ206

Deployment Strategies

A Data Scientist is developing a propensity model for an e-commerce start-up. The company stores 7 GB of historical data and receives approximately 5 MB of new transaction data each day. The objective is to produce daily purchase predictions for every user by 7:00 AM each morning. Because the start-up is still in its early stages, the Data Scientist must emphasize a highly cost-efficient solution.

Which approach should the Data Scientist use?

  • A Use a multi-node compute and leverage distributed frameworks like SparkML to train the model. The model can then be scheduled as a nightly batch job that runs on a multi-node compute.
  • B Use a single-node memory compute to build a model with libraries like scikit-learn. The model can then be scheduled as a nightly batch job that runs on a single-node compute.
  • C Use a single-node compute to build a model with libraries like scikit-learn. The model can then be deployed as an always-on REST API so that users can query the API to get the predictions whenever they want.
  • D Use a single-node compute to build a model with libraries like scikit-learn. The model can then be integrated into an always-on streaming pipeline, to ensure immediate processing of incoming data in order to meet the SLA.
Explanation

A single-node batch workflow using scikit-learn is sufficient for 7 GB of historical data and a small daily increment. Scheduling nightly training or prediction generation meets the daily 7:00 AM requirement without the added expense and complexity of distributed compute, an always-on API, or streaming infrastructure.

Community Discussion

No comments yet. Be the first to start the discussion!