Ngân hàng đề — AWS Certified Data Engineer Associate
Tìm thấy 867 câu.
A company uses several analytics services from AWS such as AWS Glue, Amazon Athena, Amazon Redshift Spectrum, and Amazon EMR to query the data. The company wants to build a data lake in AWS that can provide row-level and column-level data access to specific teams/groups that use the aforementioned AWS services.
Which solution can address these requirements with the LEAST operational overhead?
-
A
Use Amazon S3 for data lake storage. Use Apache Ranger through Amazon EMR to restrict data access by rows and columns. Provide data access by using Apache Pig
-
B
Set up Amazon S3 as the data lake service. Define the Amazon S3 access point for each AWS service. Configure each access point with distinct permissions and network controls needed for each AWS service
-
C
Set up Amazon S3 as the data lake service. Use Amazon Redshift Spectrum to query data in Amazon S3 files without having to load the data into Amazon Redshift tables. Configure access control through the IAM roles attached to the Redshift cluster
-
D
Set up Amazon S3 as the data lake service. Configure AWS Lake Formation permissions to provide fine-grained row and column-wise access. Provide access to data for the AWS services via Lake Formation permissions only
Xem giải thích
Đáp án
D — Dùng S3 làm data lake và cấu hình quyền của AWS Lake Formation để phân quyền chi tiết theo dòng và theo cột
Vì sao đúng
Chữ khoá của đề là "ít công vận hành nhất" cộng với phân quyền theo dòng và theo cột cho nhiều dịch vụ khác nhau (Glue, Athena, Redshift Spectrum, EMR).
Lake Formation giải đúng bài toán đó nhờ một đặc điểm quan trọng: nó là lớp phân quyền tập trung mà các dịch vụ phân tích của AWS đều tôn trọng. Bạn khai quyền một lần ở Lake Formation, và cả Athena, Redshift Spectrum lẫn EMR đều áp theo.
Nó hỗ trợ:
- Data filter — lọc theo dòng bằng biểu thức điều kiện, và chọn cột được phép xem.
- Cell-level security — kết hợp cả hai chiều.
- Tag-based access control — gán thẻ cho bảng và cột rồi cấp quyền theo thẻ, thay vì liệt kê từng bảng.
Vì sao các phương án khác sai
- A. Dùng Apache Ranger qua EMR — Ranger làm được phân quyền dòng và cột, nhưng bạn phải tự cài đặt và vận hành nó, và nó chỉ áp cho EMR — Athena và Redshift Spectrum không đi qua Ranger. Đây là phương án nhiễu chính.
- B. Dùng S3 Access Point cho từng dịch vụ — Access Point phân quyền ở mức đối tượng và tiền tố, không phân quyền được theo dòng hay cột bên trong tệp.
- C. Phân quyền qua IAM role gắn với Redshift — cũng chỉ ở mức tệp, và bỏ sót các dịch vụ khác trong danh sách.
An e-commerce application provides a visual search feature by letting the customer take a picture of any item and provide a wide selection of similar items that the customer can buy with just a few clicks on the app. Creating the best user experience requires that the machine learning framework of the application identify objects and their attributes from the given set of images and return visually and contextually similar recommendations. With over a million users, the company is looking at the MOST cost-effective solution to store these images as well as run the underlying machine learning engine.
Which of the following represents the best solution for this use case?
-
A
Use Amazon Elastic File System (Amazon EFS) to store the images of objects. The machine learning framework of the application should be hosted on Amazon SageMaker
-
B
Use Amazon S3 to store the images of objects. The machine learning framework of the application should be hosted on Amazon EC2 instances
-
C
Use Amazon S3 to store the images of objects. The machine learning framework of the application should be hosted on Amazon SageMaker
-
D
Use Amazon Elastic File System (Amazon EFS) to store the images of objects. The machine learning framework of the application should be hosted on Amazon EC2 instances
Xem giải thích
Đáp án
*B — Dùng Amazon S3 để lưu ảnh, và chạy framework học máy trên Amazon EC2
Vì sao đúng
Chữ khoá quyết định là "tiết kiệm chi phí nhất (MOST cost-effective)", và câu này so sánh hai lựa chọn ở mỗi tầng:
Tầng lưu trữ — S3 hay EFS? S3 rẻ hơn EFS đáng kể cho việc lưu hàng triệu ảnh, và ảnh là đối tượng bất biến truy cập theo khoá — đúng mô hình của S3. EFS đắt hơn và chỉ đáng dùng khi cần hệ thống tệp POSIX chia sẻ, điều mà ứng dụng này không cần.
Tầng tính toán — EC2 hay SageMaker? Đề nói framework học máy đã có sẵn, chỉ cần nơi chạy. Khi đó EC2 rẻ hơn: instance SageMaker có đơn giá cao hơn EC2 cùng cấu hình, vì giá đã gồm phần dịch vụ được quản lý. Với công ty chạy mô hình liên tục cho hơn một triệu người dùng, chênh lệch đó cộng dồn rất lớn.
Vì sao các phương án khác sai
- C. S3 kèm SageMaker — đúng tầng lưu trữ nhưng đắt hơn ở tầng tính toán. Đây là phương án nhiễu chính, và nếu đề hỏi "ít công vận hành nhất" thay vì "rẻ nhất" thì C mới là đáp án.
- A và D. Dùng EFS để lưu ảnh — đắt hơn S3 nhiều lần cho khối lượng này.
Ghi chú
Đánh đổi ở đây rất thật: chọn EC2 nghĩa là bạn tự lo cài đặt, vá lỗi, co giãn và giám sát. Đề chấm theo tiêu chí chi phí nên B thắng, nhưng ngoài đời cần cân thêm chi phí nhân sự vận hành.
A retail company uses Amazon RDS to store sales data. For the analytics workloads that require high performance, only the last six months of data (approximately 50 TB) will be frequently queried. At the end of each month, the monthly sales data will be merged with the historical sales data for the last 5 years, which should also be available for analysis. The CTO at the company is looking at a cost-optimal solution that offers the best performance for this use case.
Which of the following would you select for the given requirement?
-
A
Configure a read replica of the RDS database to store the last six months of data and execute more frequent queries on the read replica. Export RDS data to S3 and schedule an AWS data pipeline for an incremental copy of RDS data to S3. Configure an AWS Glue Data Catalog of the data in S3 and use Amazon Athena to query the historical data in S3
-
B
Export RDS data to S3 and schedule an AWS data pipeline for an incremental copy of RDS data to S3. Load and store the last six months of data from S3 in Amazon Redshift. Configure an Amazon Redshift Spectrum table to connect to all the historical data in S3
-
C
Use AWS data pipeline to incrementally load the last six months of data into Amazon Redshift and execute more frequent queries on Redshift. Set up a read replica of the RDS database to run queries on the historical data
-
D
Export RDS data to S3 and schedule an AWS data pipeline for an incremental copy of RDS data to S3. Configure an AWS Glue Data Catalog of the data in S3 and use Amazon Athena to query the entire data in S3
Xem giải thích
Đáp án
B — Xuất dữ liệu RDS sang S3 và sao chép tăng dần; nạp 6 tháng gần nhất vào Redshift, rồi dùng Redshift Spectrum để truy vấn toàn bộ dữ liệu lịch sử trên S3
Vì sao đúng
Đề có hai loại dữ liệu với hai yêu cầu khác nhau, và giải pháp phải phục vụ cả hai:
| Dữ liệu | Yêu cầu | Giải pháp |
|---|---|---|
| 6 tháng gần nhất (~50 TB) | Truy vấn thường xuyên, hiệu năng cao | Nạp vào Redshift — lưu theo cột, xử lý song song |
| 5 năm lịch sử | Thỉnh thoảng phân tích | Giữ trên S3, truy vấn qua Redshift Spectrum |
Redshift Spectrum là mắt xích quan trọng: nó cho phép truy vấn dữ liệu nằm nguyên trên S3 mà không phải nạp vào cụm, và kết hợp được trong cùng một câu SQL với bảng trong Redshift. Nhờ vậy người phân tích viết một truy vấn duy nhất phủ cả 5 năm.
Về chi phí: bạn chỉ trả cho cụm Redshift đủ chứa 50 TB nóng, còn dữ liệu lạnh nằm trên S3 rẻ hơn nhiều lần.
Vì sao các phương án khác sai
- D. Dùng Glue Data Catalog và Athena cho toàn bộ dữ liệu trên S3 — đơn giản hơn, nhưng Athena chậm hơn Redshift cho truy vấn phức tạp lặp lại nhiều lần; đề đòi hiệu năng tốt nhất cho dữ liệu nóng. Đây là phương án nhiễu chính.
- A và C. Dùng read replica của RDS cho phân tích — RDS là cơ sở dữ liệu giao dịch (OLTP); chạy truy vấn phân tích trên 50 TB ở đó rất chậm dù có replica.
A company wants to use AWS for its connected cab application that would collect sensor data from its electric cab fleet to give drivers dynamically updated map information. The company would like to build its new sensor service by leveraging fully serverless components that are provisioned and managed automatically by AWS. The development team at the company does not want an option that requires the capacity to be manually provisioned, as it does not want to respond manually to changing volumes of sensor data. The company has hired you to provide consultancy for this strategic initiative.
Given these constraints, which of the following solutions would you suggest as the BEST fit to develop this service?
-
A
Ingest the sensor data in a Kinesis Data Stream, which is polled by an application running on an EC2 instance, and the data is written into an auto-scaled DynamoDB table for downstream processing
-
B
Ingest the sensor data in an Amazon SQS standard queue, which is polled by a Lambda function in batches, and the data is written into an auto-scaled DynamoDB table for downstream processing
-
C
Ingest the sensor data in an Amazon SQS standard queue, which is polled by an application running on an EC2 instance, and the data is written into an auto-scaled DynamoDB table for downstream processing
-
D
Ingest the sensor data in Kinesis Data Firehose, which directly writes the data into an auto-scaled DynamoDB table for downstream processing
Xem giải thích
Đáp án
B — Nhận dữ liệu vào SQS standard queue, để Lambda đọc theo lô và ghi vào bảng DynamoDB tự co giãn
Vì sao đúng
Đề đặt hai ràng buộc cứng: hoàn toàn serverless và không phải cấp phát năng lực thủ công. Kiểm từng thành phần:
| Thành phần | Serverless? | Tự co giãn? |
|---|---|---|
| SQS standard queue | ✅ | ✅ Không giới hạn thông lượng |
| Lambda | ✅ | ✅ Tự tăng số lần chạy đồng thời |
| DynamoDB on-demand | ✅ | ✅ |
Cả ba đều không có gì để bạn khai trước. Lambda đọc SQS theo lô nên hiệu quả khi lưu lượng lớn, và số lần chạy đồng thời tự tăng giảm theo độ sâu hàng đợi.
Vì sao các phương án khác sai
- A. Kinesis Data Stream được ứng dụng trên EC2 đọc — hỏng ở hai chỗ: EC2 không phải serverless, và Kinesis Data Streams (chế độ provisioned) đòi khai số shard thủ công.
- C. SQS được ứng dụng trên EC2 đọc — hàng đợi thì serverless nhưng EC2 thì không.
- D. Kinesis Data Firehose ghi thẳng vào DynamoDB — không làm được: Firehose không hỗ trợ DynamoDB làm đích. Đích của nó là S3, Redshift, OpenSearch, và một số điểm cuối HTTP. Đây là bẫy tinh vi vì Firehose đúng là serverless và tự co giãn.
A company is looking for an automated orchestration solution that will run a job once every day. Once triggered, the job searches for new data that is added to an Amazon S3 bucket and then performs an extract, transform, and load (ETL) sequence to transform the newly added data. The transformed data is saved back to another S3 bucket and then an AWS Lambda function is triggered to start the downstream process.
Which AWS service/feature can be used to meet these requirements with the LEAST operational overhead?
-
A
AWS Glue DataBrew
-
B
AWS Step Functions tasks
-
C
Amazon Managed Workflows for Apache Airflow (Amazon MWAA) workflows
-
D
AWS Glue workflows
Xem giải thích
Đáp án
B — AWS Step Functions
Vì sao đúng
Đề mô tả một quy trình nhiều bước có thứ tự, gồm nhiều loại tác vụ khác nhau:
Chạy hằng ngày (EventBridge)
▼
Tìm dữ liệu mới trong bucket S3
▼
Chạy ETL để biến đổi dữ liệu
▼
Ghi kết quả sang bucket S3 khác
▼
Gọi hàm Lambda cho quy trình phía sau
Step Functions là dịch vụ điều phối của AWS, và nó có tích hợp trực tiếp với hơn 200 dịch vụ — gọi được Glue job, Lambda, thao tác S3 mà không cần viết mã kết dính nào. Nó cũng lo sẵn phần xử lý lỗi, thử lại, và phân nhánh theo điều kiện.
Về công vận hành: không có máy chủ nào, trả tiền theo số bước chuyển trạng thái.
Vì sao các phương án khác sai
- D. AWS Glue workflows — điều phối được các thành phần của Glue (crawler, job, trigger), nhưng không gọi được Lambda trực tiếp. Bước cuối trong đề vì thế không làm được. Đây là phương án nhiễu chính.
- C. Amazon MWAA (Apache Airflow) — mạnh và linh hoạt nhất, nhưng công vận hành cao nhất: bạn quản lý môi trường Airflow, viết DAG bằng Python, và trả tiền theo giờ cho môi trường luôn chạy. Đề đòi ít công nhất.
- A. AWS Glue DataBrew — công cụ làm sạch dữ liệu bằng giao diện trực quan, không phải công cụ điều phối.
A company helps its customers legally sign highly confidential contracts. To meet the regulatory requirements, the company must ensure that the signed contracts are encrypted using the company's proprietary algorithm. The company is now migrating to AWS Cloud and plans on using Amazon Simple Storage Service (Amazon S3) to store the signed contracts.
What do you recommend?
-
A
Client Side Encryption
-
B
Server-side encryption with Amazon S3 managed keys (SSE-S3)
-
C
Server-side encryption with customer-provided keys (SSE-C)
-
D
Server-side encryption with AWS KMS keys (SSE-KMS)
Xem giải thích
Đáp án
A — Client-Side Encryption (mã hoá phía client)
Vì sao đúng
Chi tiết quyết định trong đề: hợp đồng phải được mã hoá bằng thuật toán độc quyền của chính công ty.
Mọi hình thức mã hoá phía máy chủ của S3 đều dùng thuật toán do AWS cài đặt — cụ thể là AES-256. Bạn không thay được thuật toán, chỉ thay được khoá.
Vì vậy cách duy nhất là mã hoá trước khi gửi: ứng dụng của công ty chạy thuật toán riêng, rồi đẩy dữ liệu đã mã hoá lên S3. Với S3, đó chỉ là một khối byte bình thường.
Ứng dụng (thuật toán độc quyền) → dữ liệu ĐÃ MÃ HOÁ → S3 lưu như bình thường
Vì sao các phương án khác sai
Cả ba phương án còn lại đều là mã hoá phía máy chủ, và tất cả đều dùng AES-256 của AWS:
- C. SSE-C (khoá do khách hàng cung cấp) — bạn cung cấp khoá, nhưng AWS vẫn thực hiện việc mã hoá bằng thuật toán của AWS. Đây là phương án nhiễu chính vì chữ "customer-provided" nghe như bạn kiểm soát nhiều hơn thực tế.
- B. SSE-S3 — AWS quản lý cả khoá lẫn thuật toán.
- D. SSE-KMS — bạn kiểm soát khoá qua KMS, nhưng thuật toán vẫn của AWS.
Ghi nhớ
| Yêu cầu | Lựa chọn |
|---|---|
| Thuật toán riêng, AWS không thấy dữ liệu rõ | Client-side encryption |
| Khoá riêng nhưng dùng thuật toán AWS | SSE-C hoặc SSE-KMS |
| Đơn giản nhất | SSE-S3 |
A data engineer is encountering slow query performance while executing Amazon Athena queries on datasets stored in an Amazon S3 bucket, with AWS Glue Data Catalog serving as the metadata repository. The data engineer has identified the root cause of the sluggish performance as the excessive number of partitions in the S3 bucket, leading to increased Athena query planning times.
What are the two possible approaches to mitigate this issue and enhance query efficiency (Select two)?
-
A
Compress the files in gzip format to improve query performance against the partitions
-
B
Set up an AWS Glue partition index and leverage partition filtering via the GetPartitions call
-
C
Transform the data in each partition to Apache ORC format
-
D
Perform bucketing on the data in each partition
-
E
Set up Athena partition projection based on the S3 bucket prefix
Xem giải thích
Đáp án
B và E — tạo Glue partition index kèm lọc phân vùng, và bật Athena partition projection
Vì sao đúng
Vấn đề đã được đề chỉ rõ: quá nhiều phân vùng làm thời gian lập kế hoạch truy vấn của Athena kéo dài. Đây là vấn đề ở khâu tra cứu siêu dữ liệu, không phải ở khâu đọc dữ liệu — nên cách chữa phải nhắm vào chính khâu đó.
- B. Glue partition index — tạo chỉ mục trên các cột phân vùng, để lời gọi
GetPartitionschỉ trả về những phân vùng khớp điều kiện thay vì liệt kê toàn bộ rồi lọc sau. - E. Athena partition projection — cách chữa triệt để hơn: Athena tự suy ra danh sách phân vùng từ mẫu tên tiền tố S3 và hoàn toàn không gọi Glue Data Catalog. Với bảng có hàng chục nghìn phân vùng, thời gian lập kế hoạch giảm từ hàng chục giây xuống gần như tức thì.
Vì sao các phương án khác sai
Cả ba phương án còn lại đều cải thiện tốc độ quét dữ liệu, không chạm tới thời gian lập kế hoạch — nên không giải được vấn đề đề nêu:
- C. Chuyển sang định dạng ORC — giảm lượng dữ liệu phải đọc, nhưng danh sách phân vùng vẫn phải liệt kê như cũ. Đây là phương án nhiễu chính vì nó là lời khuyên tối ưu Athena phổ biến nhất.
- A. Nén tệp bằng gzip — cũng chỉ giảm dữ liệu đọc; gzip còn không tách được (non-splittable) nên có khi làm chậm thêm.
- D. Bucketing dữ liệu trong từng phân vùng — tối ưu phép nối và lọc bên trong phân vùng.
The data engineering team at a social media company wants to handle some complicated queries such as "What are the number of likes on the videos that have been posted by friends of a user A?".
Which of the following AWS database services would you suggest as the BEST fit to handle such use cases?
-
A
Amazon Neptune
-
B
Amazon OpenSearch Service
-
C
Amazon Aurora
-
D
Amazon Redshift
Xem giải thích
Đáp án
A — Amazon Neptune
Vì sao đúng
Câu hỏi trong đề — "số lượt thích trên video do bạn bè của người dùng A đăng" — đòi duyệt quan hệ nhiều bước:
Người dùng A --là bạn của--> Người dùng B --đã đăng--> Video --có--> Lượt thích
Đây chính là loại truy vấn mà cơ sở dữ liệu đồ thị được thiết kế cho. Neptune lưu thực thể (node) và quan hệ (edge) như những đối tượng ngang hàng, nên việc đi từ node này sang node kia là thao tác trực tiếp, không phụ thuộc vào kích thước bảng.
Với cơ sở dữ liệu quan hệ, cùng truy vấn đó cần nhiều phép JOIN lồng nhau, và chậm dần theo cấp số nhân khi số bước quan hệ tăng.
Vì sao các phương án khác sai
- C. Amazon Aurora — cơ sở dữ liệu quan hệ; làm được nhưng hiệu năng sụp đổ khi mạng lưới bạn bè lớn. Đây là phương án nhiễu chính.
- D. Amazon Redshift — kho dữ liệu cho truy vấn tổng hợp trên khối lớn, không tối ưu cho việc duyệt quan hệ từng bước.
- B. Amazon OpenSearch Service — tìm kiếm toàn văn và phân tích log; nó tìm theo nội dung, không duyệt quan hệ.
A data engineer is working on the throughput capacity of a newly provisioned table in Amazon DynamoDB. The data engineer has provisioned 20 Read Capacity Units for the table.
Which of the following options represents the correct throughput that the table will support for the various read modes?
-
A
Read throughput of 80KB/sec with strong consistency, Read throughput of 160KB/sec with eventual consistency, Transactional read throughput of 40KB/sec
-
B
Read throughput of 40KB/sec with strong consistency, Read throughput of 80KB/sec with eventual consistency, Transactional read throughput of 120KB/sec
-
C
Read throughput of 80KB/sec with strong consistency, Read throughput of 160KB/sec with eventual consistency, Transactional read throughput of 320KB/sec
-
D
Read throughput of 40KB/sec with strong consistency, Read throughput of 80KB/sec with eventual consistency, Transactional read throughput of 60KB/sec
Xem giải thích
Đáp án
A — 80 KB/giây với đọc nhất quán mạnh, 160 KB/giây với đọc nhất quán cuối cùng, 40 KB/giây với đọc giao dịch
Vì sao đúng
Đây là câu tính toán thuần, dựa trên định nghĩa của Read Capacity Unit (RCU) trong DynamoDB:
1 RCU = 1 lượt đọc nhất quán mạnh mỗi giây cho mục dữ liệu tới 4 KB.
Từ đó suy ra ba con số với 20 RCU:
| Kiểu đọc | Hệ số | Phép tính | Kết quả |
|---|---|---|---|
| Nhất quán mạnh (strongly consistent) | ×1 | 20 × 4 KB | 80 KB/giây |
| Nhất quán cuối cùng (eventually consistent) | ×2 | 80 × 2 | 160 KB/giây |
| Giao dịch (transactional) | ÷2 | 80 ÷ 2 | 40 KB/giây |
Lý do của hai hệ số:
- Đọc nhất quán cuối cùng gấp đôi vì nó chỉ đọc từ một bản sao, chấp nhận dữ liệu có thể chậm vài phần trăm giây.
- Đọc giao dịch tốn gấp đôi vì DynamoDB phải thực hiện hai lượt: một lượt chuẩn bị và một lượt xác nhận, để bảo đảm tính nguyên tử.
Vì sao các phương án khác sai
- C — đúng hai con số đầu nhưng ghi đọc giao dịch là 320 KB/giây; sai chiều — giao dịch tốn gấp đôi chứ không rẻ đi. Đây là phương án nhiễu chính.
- B và D — cùng bắt đầu sai từ con số đầu tiên (40 KB/giây), tức là dùng nhầm 1 RCU = 2 KB.
A Big Data analytics company writes data and log files in Amazon S3 buckets. The company now wants to stream the existing data files as well as any ongoing file updates from Amazon S3 to Amazon Kinesis Data Streams.
Which of the following would you suggest as the fastest possible way of building a solution for this requirement?
-
A
Configure Amazon EventBridge events for the bucket actions on Amazon S3. An AWS Lambda function can then be triggered from the Amazon EventBridge event that will send the necessary data to Amazon Kinesis Data Streams
-
B
Leverage Amazon S3 event notification to trigger an AWS Lambda function for the file create event. The AWS Lambda function will then send the necessary data to Amazon Kinesis Data Streams
-
C
Amazon S3 bucket actions can be directly configured to write data into Amazon Simple Notification Service (Amazon SNS). Amazon SNS can then be used to send the updates to Amazon Kinesis Data Streams
-
D
Leverage AWS Database Migration Service (AWS DMS) as a bridge between Amazon S3 and Amazon Kinesis Data Streams
Xem giải thích
Đáp án
D — Dùng AWS Database Migration Service (DMS) làm cầu nối giữa S3 và Kinesis Data Streams
Vì sao đúng
Chữ khoá của đề là "nhanh nhất để xây dựng", và có một chi tiết quan trọng: cần chuyển cả dữ liệu đã có lẫn các cập nhật về sau.
DMS hỗ trợ S3 làm nguồn và Kinesis Data Streams làm đích, và nó có sẵn hai chế độ đúng với hai nhu cầu:
- Full load — chuyển toàn bộ tệp đã tồn tại.
- Change Data Capture (CDC) — theo dõi và chuyển tiếp các thay đổi sau đó.
Nghĩa là bạn cấu hình một task DMS và xong — không viết dòng mã nào.
Vì sao các phương án khác sai
- B. S3 event notification kích hoạt Lambda — hoạt động được cho tệp mới, nhưng không xử lý được dữ liệu đã có sẵn: sự kiện chỉ phát khi có thao tác mới. Bạn phải viết thêm một quy trình riêng để nạp dữ liệu cũ. Đây là phương án nhiễu chính.
- A. EventBridge kích hoạt Lambda — cùng nhược điểm, và thêm một lớp dịch vụ nữa.
- C. S3 ghi thẳng vào SNS rồi SNS gửi tới Kinesis Data Streams — không làm được: SNS không hỗ trợ Kinesis Data Streams làm đích đăng ký. (SNS gửi được tới SQS, Lambda, HTTP, email, và Kinesis Data Firehose — nhưng không phải Data Streams.)