Which solution will meet these requirements?
Load the data into an Amazon S3 bucket by using Amazon Kinesis Data Firehose. Use a SageMaker Processing job to aggregate the data and to load the results into SageMaker Feature Store as an online feature group.
Write the data directly from the data stream into SageMaker Feature Store as an online feature group. Calculate the rolling averages in place within SageMaker Feature Store by using the SageMaker GetRecord API operation.
Consume the data stream by using an Amazon Kinesis Data Analytics SQL application that calculates the rolling averages. Generate a result stream. Consume the result stream by using a custom AWS Lambda function that publishes the results to SageMaker Feature Store as an online feature group.
Load the data into an Amazon S3 bucket by using Amazon Kinesis Data Firehose. Use a SageMaker Processing job to load the data into SageMaker Feature Store as an offline feature group. Compute the rolling averages at query time.
Explanations:
This option requires using a SageMaker Processing job to compute rolling averages after loading data into S3. While it enables batch processing and storage in SageMaker Feature Store, it does not ensure near real-time processing of data from Kinesis, which is a key requirement.
This option suggests writing directly from the data stream into SageMaker Feature Store and using the GetRecord API to calculate rolling averages in place. However, the GetRecord API does not support real-time computations like rolling averages directly within SageMaker Feature Store, making this approach unsuitable.
This option leverages Amazon Kinesis Data Analytics to compute rolling averages in real time and then uses AWS Lambda to push these results to SageMaker Feature Store. This meets both the requirement of computing rolling averages and serving results in near real time, making it the most suitable solution.
This option involves loading data into S3, then using a SageMaker Processing job for offline feature storage. While rolling averages could theoretically be computed at query time, this would not meet the requirement for real-time feature ingestion, as it introduces delays in processing.