exam questions

Exam AWS Certified Data Analytics - Specialty All Questions

View all questions & answers for the AWS Certified Data Analytics - Specialty exam

Exam AWS Certified Data Analytics - Specialty topic 1 question 70 discussion

A company wants to enrich application logs in near-real-time and use the enriched dataset for further analysis. The application is running on Amazon EC2 instances across multiple Availability Zones and storing its logs using Amazon CloudWatch Logs. The enrichment source is stored in an Amazon DynamoDB table.
Which solution meets the requirements for the event collection and enrichment?

  • A. Use a CloudWatch Logs subscription to send the data to Amazon Kinesis Data Firehose. Use AWS Lambda to transform the data in the Kinesis Data Firehose delivery stream and enrich it with the data in the DynamoDB table. Configure Amazon S3 as the Kinesis Data Firehose delivery destination.
  • B. Export the raw logs to Amazon S3 on an hourly basis using the AWS CLI. Use AWS Glue crawlers to catalog the logs. Set up an AWS Glue connection for the DynamoDB table and set up an AWS Glue ETL job to enrich the data. Store the enriched data in Amazon S3.
  • C. Configure the application to write the logs locally and use Amazon Kinesis Agent to send the data to Amazon Kinesis Data Streams. Configure a Kinesis Data Analytics SQL application with the Kinesis data stream as the source. Join the SQL application input stream with DynamoDB records, and then store the enriched output stream in Amazon S3 using Amazon Kinesis Data Firehose.
  • D. Export the raw logs to Amazon S3 on an hourly basis using the AWS CLI. Use Apache Spark SQL on Amazon EMR to read the logs from Amazon S3 and enrich the records with the data from DynamoDB. Store the enriched data in Amazon S3.
Show Suggested Answer Hide Answer
Suggested Answer: A 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
awssp12345
Highly Voted 3 years, 8 months ago
The answer is A - Since they are already using CloudWatch Logs, it makes sense to send the CW logs to KFH which will invoke lambda and send data to S3 for further analysis.
upvoted 38 times
[Removed]
3 years, 5 months ago
KDA can refrer s3 only for data enrichment.
upvoted 3 times
...
...
cloudlearnerhere
Highly Voted 2 years, 7 months ago
Selected Answer: A
Correct answer is A as CloudWatch logs can be integrated with Kinesis Data Firehose using subscription filters, the data can be enriched using Lambda doing a lookup on the DynamoDB tables and data storage to S3. Options B & D are wrong as exporting the logs would not provide near-real-time data handling. Option C is wrong as using Kinesis Data Stream for data collection with agents would increase overhead, also Kinesis Data Analytics does not support DynamoDB as a reference data source for enrichment.
upvoted 10 times
...
pk349
Most Recent 2 years, 1 month ago
A: I passed the test
upvoted 1 times
...
rocky48
2 years, 10 months ago
Selected Answer: A
Selected Answer: A
upvoted 1 times
...
GarfieldBin
2 years, 11 months ago
Selected Answer: A
https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html#FirehoseExample. B, D are obviously wrong. DynamoDB is not for joining.
upvoted 2 times
renfdo
2 years, 6 months ago
Agree!
upvoted 1 times
...
...
Bik000
3 years ago
Selected Answer: A
My Answer is A
upvoted 1 times
...
ShilaP
3 years, 2 months ago
A is the right answer
upvoted 2 times
...
ses13
3 years, 5 months ago
The answer is C - Since CW logs is written in gzip format to Kinesis Firehose. In the Lambda function the uncompress command should be applied first. https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html#FirehoseExample
upvoted 2 times
Ramshizzle
2 years, 12 months ago
You can uncompress inside the Lambda without any issue. So answer A works.
upvoted 1 times
...
...
arun004
3 years, 6 months ago
How KDF refer data stored in DynamoDB ? i don't think it is possible
upvoted 1 times
Ramshizzle
2 years, 12 months ago
Lambda does the enrichment and so the Lambda needs to read the DynamoDB table. This is perfectly fine.
upvoted 1 times
...
...
aws2019
3 years, 6 months ago
A is the right answer
upvoted 1 times
...
Gekko
3 years, 7 months ago
Why not D ? https://aws.amazon.com/es/blogs/big-data/analyze-your-data-on-amazon-dynamodb-with-apache-spark/
upvoted 1 times
Dr_Kiko
3 years, 7 months ago
because hourly is not near realtime
upvoted 4 times
...
...
lostsoul07
3 years, 7 months ago
A is the right answer
upvoted 4 times
...
Lucas88
3 years, 7 months ago
The thing that confuses me about A is the combination of Firehose and Lambda, is it even possible to add a Lambda processing step in Firehose?
upvoted 2 times
Lucas88
3 years, 7 months ago
Never mind, it is indeed possible!
upvoted 3 times
...
...
SA_206
3 years, 7 months ago
Here Key word ' multiple Availability Zones' is crucial. We need to export the log from differnet zones.
upvoted 1 times
...
angadaws
3 years, 8 months ago
C - is possible too -> KDS-> KDA join Dynamo -> KDF->s3 https://docs.aws.amazon.com/firehose/latest/dev/writing-with-agents.html https://aws.amazon.com/blogs/big-data/joining-and-enriching-streaming-data-on-amazon-kinesis/ both solution can be near real time . A - only because CW logs is used ?? Tricky Question
upvoted 3 times
angadaws
3 years, 8 months ago
K Agent ->KDS-> KDA join Dynamo -> KDF->s3
upvoted 1 times
angadaws
3 years, 8 months ago
Ignore C <<< KDA join Dynamo not possible . ( reference data on S3 would have worked ) A works well <<<<
upvoted 2 times
...
...
...
LMax
3 years, 8 months ago
Only A provides near-real-time. Rest would have much longer delay.
upvoted 1 times
...
syu31svc
3 years, 8 months ago
Answer is A https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html#FirehoseExample
upvoted 2 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...