DEA-C01 Data Operations and Support Practice Question
A data engineer is troubleshooting an AWS Glue ETL job that uses a Python shell script to extract data from an Amazon RDS for PostgreSQL database and load it into an Amazon Redshift table. The job runs successfully, but the data engineer notices that the row count in Redshift is consistently lower than the row count in PostgreSQL. The job uses a SELECT * query without any filtering. The data engineer suspects that some rows are being dropped during the transfer. The job uses the psycopg2 library to connect to PostgreSQL and the psycopg2 connection is configured with autocommit=True. The Redshift table has no constraints that would reject rows. What is the most likely cause of the missing rows?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The SELECT * query includes columns with data types that are not supported by psycopg2.
The SELECT * query may include columns with data types (e.g., arrays, hstore, or geometric types) that psycopg2 does not fully support, causing those columns to be read as NULL or silently skipped during extraction. This would result in fewer rows being inserted into Redshift if the unsupported columns are part of a unique constraint or if NULL handling causes row drops. Option B is incorrect because SSL/TLS packet drops would cause connection errors, not consistent missing rows. Option C is incorrect because autocommit=True ensures each query is a standalone transaction, preventing incomplete transactions. Option D is incorrect because the problem states the Redshift table has no constraints that would reject rows, and distribution keys do not silently discard rows.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
The SELECT * query includes columns with data types that are not supported by psycopg2.
Why this is correct
Unsupported data types may cause rows to be skipped or nullified.
- ✗
The SSL/TLS connection to PostgreSQL is dropping packets.
Why it's wrong here
SSL/TLS ensures data integrity; it does not drop packets.
- ✗
The autocommit=True setting is causing incomplete transactions.
Why it's wrong here
Autocommit ensures each statement is committed immediately, not losing data.
- ✗
The Redshift table has a distribution key that causes some rows to be silently discarded.
Why it's wrong here
Distribution keys do not discard rows; they just distribute them.
Go deeper
Related to this question
About these practice questions
One of 1,711 original DEA-C01 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DEA-C01 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DEA-C01 exam.