Getting Amazon DynamoDB data in Athena

Viewed 598

I have information in Amazon DynamoDB, that has frequently updated/added rows (it is updated by receiving events from Kinesis Stream and processing those events with a Lambda).

I want to provide a way for other teams to query that data through Athena. It has to be as real-time as possible (the period between receiving the event and the query to Athena including that new/updated information). The best/most cost optimized way to do that?

I know about some of the options:

  • scan the table regularly and put the information in Athena. This is going to be quite expensive and not real time.
  • start putting the raw events in S3 as well, not just DynamoDB, and make a glue crawler that scans the new records only. That's going to be closer to real time, but I don't know how to deal with duplicate events. (the information is quite frequently updated in DynamoDB, it updates old records). also not sure if it is the best way.
  • maybe update the data catalog directly from the lambda? not sure if that is even possible, I'm still new to the tech stack in aws.

Any better ways to do that?

1 Answers
Related