Least Operational Overhead for Custom PySpark Libraries on AWS

DEA-C01 By islever Editorial Last updated

Short answer

C Use Amazon EMR with bootstrap actions to install custom libraries for scalable PySpark processing with minimal operational overhead.

Question

A company stores raw clickstream data in an Amazon S3 bucket. The company needs a solution to process the data every day by using complex PySpark transformations that rely on custom internal libraries. After the data is transformed, the company must store the data in Amazon Redshift for analytics. The solution must be highly scalable to handle large data workloads.
Which solution will meet these requirements with the LEAST operational overhead?
  1. Use AWS Glue Studio to build and schedule PySpark jobs. Configure an AWS Glue data connection that includes the custom libraries.
  2. Use Amazon EC2 Auto Scaling groups with a custom AMI that contains the custom libraries to run a PySpark application.
  3. Use Amazon EMR to run PySpark jobs. Use bootstrap actions to install the custom libraries Correct Answer
  4. Use Amazon SageMaker Processing jobs to run PySpark code that uses native SageMaker libraries.

Key Takeaways

The main trap is choosing AWS Glue for its serverless nature; however, EMR's bootstrap actions provide a more robust and standard way to handle complex custom internal libraries for PySpark.

Learn why Amazon EMR with bootstrap actions is the best solution for running PySpark jobs with custom libraries on AWS, offering high scalability and low operational overhead compared to Glue or EC2.

Common mistake: Choosing AWS Glue Studio (A) because it appears serverless and low-overhead, but failing to realize that integrating complex custom internal libraries is more straightforward and reliable with EMR bootstrap actions.

Expert Analysis

The question asks for a solution to process raw clickstream data using complex PySpark transformations that rely on custom internal libraries, storing results in Amazon Redshift. The key constraints are handling large workloads and achieving the LEAST operational overhead.

Option C, Amazon EMR, is the correct choice. Amazon EMR is specifically designed for big data processing using frameworks like Spark. By using bootstrap actions, you can automatically install custom libraries when cluster nodes start, ensuring the environment is ready without manual intervention. EMR handles the scalability of the underlying EC2 instances and integrates natively with S3 and Redshift, making it highly scalable with managed orchestration (e.g., via Step Functions or Airflow), thus minimizing operational overhead compared to self-managed infrastructure.

Option A (AWS Glue Studio) is incorrect because while Glue supports PySpark, integrating complex custom internal libraries often requires uploading them as ZIP files or JARs, which can be cumbersome and may not support all types of native dependencies or complex build environments as seamlessly as EMR's bootstrap approach for "custom internal libraries." Furthermore, Glue jobs run on a serverless architecture which, while low overhead, might not offer the same level of control for complex, library-heavy PySpark scripts as EMR, and the comment correctly notes that Glue connectors are not primarily for loading custom runtime libraries in this context.

Option B (EC2 Auto Scaling) involves managing the operating system, Spark installation, scaling policies, and library updates manually, resulting in significantly higher operational overhead than a managed service like EMR.

Option D (SageMaker Processing) is primarily designed for machine learning model training and inference using SageMaker's native libraries. While it can run PySpark, it is not the optimal or standard tool for general-purpose ETL pipelines involving complex custom libraries and Redshift integration, leading to unnecessary complexity and overhead.

Official Reference

Exam Strategy

When asked for 'least operational overhead' with specific framework requirements (like PySpark/Spark), compare managed services (EMR, Glue) against self-managed options (EC2). For custom libraries, consider how each service handles dependency management; EMR's bootstrap actions are a standard pattern for pre-installing libraries at scale, whereas Glue may have limitations with complex or native dependencies.

Frequently Asked Questions

Why not use AWS Glue for PySpark jobs with custom libraries?

While Glue supports PySpark, adding complex custom internal libraries can be challenging due to dependency resolution and packaging limits. EMR allows direct installation via bootstrap actions, offering better control for heavy custom dependencies.

How do bootstrap actions help with operational overhead?

Bootstrap actions automate the setup of software and libraries on EMR clusters during node launch. This eliminates the need for manual configuration and ensures consistent environments across scaling events, reducing ongoing maintenance.

More DEA-C01 FAQ →

Community Votes

C
100%

100% of anonymous learners picked answer C. Votes are pick records left by other test-takers — they are not the verified answer.

Discussion 1 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 1

  1. AWS82siast 👍 1 Answered C
    Glue Connectors are not meant for custom libraries. EMR with bootstrap to load custom libraries.

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Practice All DEA-C01 Questions

Access 100 questions with complete answers and detailed explanations.

View Full DEA-C01 Practice Test →

← Back to DEA-C01 Study Guide