A company uses AWS Glue to run ETL jobs that transform data from Amazon S3 (Parquet) into a denormalized format for Amazon Redshift. The Glue job uses the DynamicFrame API. The job is failing with a 'MemoryError' when performing a join operation. The data is skewed on the join key. Which THREE actions can reduce memory usage and improve job stability? (Choose THREE.)
Avoids shuffling small table.
Why this answer
Options B, C, and D are correct. Salting the join key distributes skew, using broadcast join for a smaller table reduces shuffle, and splitting the job into multiple steps reduces memory per stage. Option A is wrong because increasing DPUs may help but is not a targeted solution.
Option E is wrong because repartitioning does not fix skew and may increase overhead.