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 24 discussion

An energy company collects voltage data in real time from sensors that are attached to buildings. The company wants to receive notifications when a sequence of two voltage drops is detected within 10 minutes of a sudden voltage increase at the same building. All notifications must be delivered as quickly as possible. The system must be highly available. The company needs a solution that will automatically scale when this monitoring feature is implemented in other cities. The notification system is subscribed to an Amazon Simple Notification Service (Amazon SNS) topic for remediation.
Which solution will meet these requirements?

  • A. Create an Amazon Managed Streaming for Apache Kafka cluster to ingest the data. Use an Apache Spark Streaming with Apache Kafka consumer API in an automatically scaled Amazon EMR cluster to process the incoming data. Use the Spark Streaming application to detect the known event sequence and send the SNS message.
  • B. Create a REST-based web service by using Amazon API Gateway in front of an AWS Lambda function. Create an Amazon RDS for PostgreSQL database with sufficient Provisioned IOPS to meet current demand. Configure the Lambda function to store incoming events in the RDS for PostgreSQL database, query the latest data to detect the known event sequence, and send the SNS message.
  • C. Create an Amazon Kinesis Data Firehose delivery stream to capture the incoming sensor data. Use an AWS Lambda transformation function to detect the known event sequence and send the SNS message.
  • D. Create an Amazon Kinesis data stream to capture the incoming sensor data. Create another stream for notifications. Set up AWS Application Auto Scaling on both streams. Create an Amazon Kinesis Data Analytics for Java application to detect the known event sequence, and add a message to the message stream Configure an AWS Lambda function to poll the message stream and publish to the SNS topic.
Show Suggested Answer Hide Answer
Suggested Answer: C 🗳️

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
CHRIS12722222
Highly Voted 3 years, 2 months ago
Answer = D
upvoted 28 times
...
morpheus23
Highly Voted 3 years ago
It's C. Your confusing the "immediately" and ignoring that prior to that it's an event that happens as a sequence within 10 minutes, so firehose is a viable option. AWS auto scaling does not support Amazon Kinesis so that rules out D https://docs.aws.amazon.com/autoscaling/application/userguide/integrated-services-list.html
upvoted 16 times
Soumya92
1 year, 11 months ago
It seems AWS does support application auto-scaling for Kinesis Data streams since Nov 2018. https://aws.amazon.com/blogs/big-data/scaling-amazon-kinesis-data-streams-with-aws-application-auto-scaling/
upvoted 2 times
chinmayj213
1 year, 9 months ago
for Kinesis Data Stream we can use on demand option instead of provision that will able to handle
upvoted 1 times
...
...
flanfranco
2 years, 4 months ago
I think C is correct: https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-windows
upvoted 1 times
flanfranco
2 years, 4 months ago
https://aws.amazon.com/blogs/big-data/best-practices-for-consuming-amazon-kinesis-data-streams-using-aws-lambda/
upvoted 1 times
zbyroger0902
1 year, 9 months ago
The two links seems to be evidence of why lambda is not the right choice for the question. It is stated in the two links you provided that lambda cannot deal with stateful computing except for tumbling window in the streams , and pattern recognition as the question asked for is obvious example of stateful computing that tumbling window is not applicable.
upvoted 3 times
...
...
...
siju13
2 years, 12 months ago
no, within the 10 minutes, the user wants to be notified immediately when the second event happens
upvoted 6 times
...
...
tsangckl
Most Recent 1 year, 3 months ago
Selected Answer: D
Bing Option D is correct because it provides a highly available, scalable, and real-time solution. Amazon Kinesis Data Streams can capture and process large streams of data records in real time. AWS Application Auto Scaling can automatically adjust capacity to maintain steady, predictable performance at the lowest possible cost. Amazon Kinesis Data Analytics can process and analyze streaming data using standard SQL, and AWS Lambda can run your code in response to events and automatically manage the compute resources for you. Other options are not the best solutions for this scenario. For example, Options A and B involve using technologies that may not provide the real-time processing required for this use case. Option C does not provide a mechanism for detecting the known event sequence in real time.
upvoted 2 times
...
NarenKA
1 year, 4 months ago
Selected Answer: D
I will go with D as KDS is designed to handle massive streams of real-time data and can scale automatically to match the volume of data input and KDA processes of streaming data using SQL and analyse the incoming data stream for patterns, such as the sequence of voltage drops within 10 minutes of a voltage increase. KDA can scale based on demand, supporting the expansion to other cities. AWS Lambda to poll a notification stream and then publish to the Amazon SNS topic for immediate action upon detecting the specified event. Option A involves managing an Apache Kafka cluster and an EMR cluster, which adds complexity and operational overhead. B uses a REST-based web service and RDS, might not scale as seamlessly and could introduce latency in detecting and notifying about the events. C serverless, does not offer the same level of real-time processing and pattern detection capabilities needed for this specific use case as KDA.
upvoted 4 times
...
GCPereira
1 year, 5 months ago
kinesis data stream don't support aws auto-scaling, but like everything that happens in the cloud, there exists a way to scale your kds based on lambda and aws auto-scaling... then the D question is not completely wrong... emr is not highly available, then the A question is killed in this fact... this problem announces real-time data streaming, but we discard kdf... not because kdf, but because lambda function... in near-real-time data processing using kdf and lambda with a consumer, just the records streamed in 1MB or 60s are processed by lambda... b makes no sense... this is a poor question and they should be removed from this dump...
upvoted 2 times
...
blackgamer
1 year, 6 months ago
The answer is D. It has a requirement of " All notifications must be delivered as quickly as possible.". That requirement rules out Firehose as it can have a delay for buffering and Kinesis data stream is real time.
upvoted 2 times
...
gofavad926
1 year, 8 months ago
Selected Answer: C
C. Option D mention "Set up AWS Application Auto Scaling on both streams" and this is not possible. Here is not mention that you enable on demand capacity... no, it mentions "AWS Application Auto Scaling". And what about this part? "Create another stream for notifications." It is not needed! Option C is the correct one
upvoted 2 times
...
zanhsieh
1 year, 10 months ago
Selected Answer: C
Vote C. A: No, as EMR is not HA. Single region only. B: No, RDS is not ideal for streaming. C: Yes. All systems are fully managed. D: No. Although there is a solution in 2018 (https://aws.amazon.com/blogs/big-data/scaling-amazon-kinesis-data-streams-with-aws-application-auto-scaling/) but it can’t scale more 10 times per 24-hrs nor scale double current shard.
upvoted 3 times
...
geekfrosty
1 year, 10 months ago
C can't be right, it asks for "real-time", Firehouse collects before it pushes the data out which makes it "near real-time". Answer should be D
upvoted 1 times
...
NikkyDicky
1 year, 11 months ago
Selected Answer: C
C, because of non-HA EMR
upvoted 2 times
...
EueChan
2 years ago
Selected Answer: C
EMR is an incorrect answer because it is not high-available
upvoted 2 times
...
theriderzone
2 years ago
Selected Answer: C
EMR clusters dy default is not highly available.
upvoted 2 times
...
Debi_mishra
2 years, 1 month ago
Very good question. Both A and C are correct. But A can be ruled out because it uses EMR and out of box its not a highly available service, which is a critical requirement here.
upvoted 2 times
...
pk349
2 years, 2 months ago
C: I passed the test
upvoted 2 times
...
uk_dataguy
2 years, 2 months ago
Selected Answer: C
Answer = C According to https://aws.amazon.com/kinesis/data-firehose/faqs/ It is a fully managed service that automatically scales to match the throughput of your data and requires no ongoing administration.
upvoted 2 times
...
rich_knp
2 years, 3 months ago
Selected Answer: C
C is correct
upvoted 2 times
...
srirnag
2 years, 4 months ago
Its A By Elimination. B is not ideal for streams. C. Is not immediate. We need real time thing. D. Way too complex. Not sure if we would need additional Stream, Application auto scalling will scale Lambda. Where did Java come from? I believe there is a hard limit for KDS too. MSK wins on the scalability front. Spark streaming Application can call SNS SDK. Unbelievable, but it is A.
upvoted 3 times
GCPereira
1 year, 5 months ago
but emr is not high available
upvoted 1 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 ...