Welcome to ExamTopics
ExamTopics Logo
- Expert Verified, Online, Free.

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

A business requires the storage of JSON objects containing log data. The objects are created by eight AWS-hosted apps. Six programs create a total of 500 KiB of data each second, while two applications generate up to 2 MiB per second.
A data engineer is tasked with developing a scalable solution for collecting and storing use data in an Amazon S3 bucket. Before storing the use data objects in Amazon S3, they must be reformatted, converted to.csv format, and then compressed. The corporation asks that the solution include as little bespoke code as feasible and has allowed the data engineer to seek an increase in the service limit if necessary.

Which solution satisfies these criteria?

  • A. Configure an Amazon Kinesis Data Firehose delivery stream for each application. Write AWS Lambda functions to read log data objects from the stream for each application. Have the function perform reformatting and .csv conversion. Enable compression on all the delivery streams.
  • B. Configure an Amazon Kinesis data stream with one shard per application. Write an AWS Lambda function to read usage data objects from the shards. Have the function perform .csv conversion, reformatting, and compression of the data. Have the function store the output in Amazon S3.
  • C. Configure an Amazon Kinesis data stream for each application. Write an AWS Lambda function to read usage data objects from the stream for each application. Have the function perform .csv conversion, reformatting, and compression of the data. Have the function store the output in Amazon S3.
  • D. Store usage data objects in an Amazon DynamoDB table. Configure a DynamoDB stream to copy the objects to an S3 bucket. Configure an AWS Lambda function to be triggered when objects are written to the S3 bucket. Have the function convert the objects into .csv format.
Show Suggested Answer Hide Answer
Suggested Answer: B 🗳️

Comments

Chosen Answer:
This is a voting comment (?) , you can switch to a simple comment.
Switch to a voting comment New
Heer
Highly Voted 10 months, 1 week ago
ANSWER:A EXPLANATION: Firehose can invoke an AWS Lambda function to transform incoming data before delivering it to destinations Amazon Kinesis Data Firehose allows you to compress your data before delivering it to Amazon S3 .
upvoted 11 times
...
yemauricio
Most Recent 1 week, 2 days ago
Selected Answer: A
KDF + lambda +compression
upvoted 1 times
...
rocky48
2 weeks, 6 days ago
Selected Answer: A
ANSWER : A
upvoted 2 times
...
samsanta2012
1 month, 4 weeks ago
Selected Answer: D
AWS Lambda supports Parallelization Factor, a feature that allows you to process DynamoDB data stream with more than one Lambda invocation simultaneously.
upvoted 1 times
...
youonebe
5 months ago
Ans: A B is wrong because: 1. It will create 2 hot shards 2. Max object size per shard is 1MB in Kinesis Data Stream.
upvoted 2 times
alfredofmt
2 weeks ago
The question says 2 MiB per second, not 2 MiB of payload
upvoted 2 times
...
...
sanpak
7 months, 4 weeks ago
A is really make sense... but wondering why cant we use option B with enhance fan out ?
upvoted 1 times
...
ThomasKalva
9 months, 2 weeks ago
A is my answer: Forehose provides way to introduce lambda for transformations before loading files to s3 and it clearly states before loading files to s3 which removes option D for sure. Option C is close but question asks clearly finding a solution to store and does not ask for any real-time processing, keeping cost in mind, A stands.
upvoted 3 times
...
virendrapsingh
9 months, 2 weeks ago
The question clearly states - "The usage data objects need to be reformatted..... " Emphasis on the phrase USAGE DATA OBJECTS. Why are you guys suggesting option A in that case. Option A talks of LOG DATA OBJECTS not USAGE DATA OBJECTS. This leaves B & C - with my vote on C.
upvoted 3 times
...
Dr_Kiko
9 months, 2 weeks ago
A because: Amazon Kinesis Data Firehose allows you to compress your data before delivering it to Amazon S3. The service currently supports GZIP, ZIP, and SNAPPY compression formats. Firehose can invoke an AWS Lambda function to transform incoming data before delivering it to destinations. You can configure a new Lambda function using one of the Lambda blueprints we provide or choose an existing Lambda function.
upvoted 3 times
...
Donell
9 months, 3 weeks ago
Its A in my opinion. Kinesis Data Streams is suitable for customization. KDF is apt for this scenario as it can handle compression without writing code in lambda.
upvoted 2 times
...
gunjan4392
9 months, 3 weeks ago
C is the answer for me. There is no compression happening in A, So A is out.
upvoted 1 times
asg76
9 months, 3 weeks ago
A ends with "Enable compression on all the delivery streams.". Not sure what you mean by no compression happening in A".
upvoted 2 times
...
...
Huy
9 months, 4 weeks ago
A. The maximum total data per second is 500KiB*6 + 2*2MiB = 7MiBs. In the worse case, need to increase quota of KDF.
upvoted 3 times
...
tukai
10 months ago
I Think its A. Service quota can be increased in KDF. https://docs.aws.amazon.com/firehose/latest/dev/limits.html
upvoted 2 times
...
ksaws
10 months, 1 week ago
A and C are options as its Scalable going with A B is incorrect D does not seem to be discussed
upvoted 1 times
...
AjithkumarSL
10 months, 2 weeks ago
I think, since the "The company requires the solution to include the least custom code possible and has authorized the data engineer to request a service quota increase if needed.", the easiest option to implement is C, B cannot be done as the Shards have hard limit of 1MB/Sec. All other options needs more settings to work.. your thoughts...
upvoted 1 times
...
Heer
10 months, 3 weeks ago
Option 'D' doesn't have the provision for compression, where as KFH allow us to compress the data before delivering it to S3 which reduces our development effort .So answer in my opinion should be option A.
upvoted 4 times
...
VikG12
10 months, 3 weeks ago
Will go with D.
upvoted 1 times
mickies9
9 months, 3 weeks ago
Dynamo DB can hold upto 400KB of data only right?
upvoted 3 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 ...