aws AWS Big Data Blog ·

AWS blog details building a scalable recommendation system

blogmlaiawsengineeraws-sagemaker
announcement

This AWS Big Data Blog post explains how Amazon.com built a scalable personalized recommendation system by leveraging a batch-first architecture. The system utilizes AWS Lake Formation for a centralized data lake, Amazon MWAA for orchestration, and SageMaker for ML workloads, later extending to Amazon MemoryDB for real-time capabilities. The post details how this approach ensures data consistency, faster development, and efficient resource utilization across global marketplaces.

  • Centralized data lake with AWS Lake Formation
  • Orchestration with Amazon Managed Workflows for Apache Airflow (MWAA)
  • Data access and processing with Athena and AWS Glue
  • Machine learning with Amazon SageMaker
Notes (4)
  • Centralized data lake with AWS Lake Formation

    The system establishes a centralized data lake using Amazon S3 and AWS Lake Formation to create a single source of truth for recommendation pipelines. Lake Formation provides fine-grained cross-account access and schema governance through AWS Glue Data Catalog, ensuring data consistency and enabling faster pipeline development by querying curated, validated 'golden datasets'.

  • Orchestration with Amazon Managed Workflows for Apache Airflow (MWAA)

    Amazon MWAA is used as the orchestration layer, managing complex multi-step workflows and removing the operational burden of Airflow infrastructure. The team developed reusable custom Airflow operators, encapsulating core compute engines to streamline new pipeline development and ensure a consistent pattern across recommendation pipelines.

  • Data access and processing with Athena and AWS Glue

    Amazon Athena is employed for data access, running SQL queries against the Glue Data Catalog and unloading results to S3. AWS Glue handles compute-intensive data transformations using PySpark, with Auto Scaling worker pools for scalability and ephemeral jobs that read from and write to S3, requiring no long-running clusters.

  • Machine learning with Amazon SageMaker

    Amazon SageMaker powers ML workloads including model training (using SageMaker Training Jobs on GPU instances), batch inference (via SageMaker Batch Transform), and vector search for approximate nearest neighbor (ANN) search using FAISS within SageMaker Processing Jobs. This integration within MWAA ensures end-to-end lineage, automatic retry mechanisms, and proper resource sequencing for ML tasks.

Read the original announcement →

https://aws.amazon.com/blogs/big-data/building-a-scalable-personalized-recommendation-system-on-aws-from-batch-to-real-time/

Related releases