Olá, Daniel.
Tudo bem?
Entendi sua dúvida e acho que posso te ajudar.
Sobre levar as tabelas para o S3, você tem ambas as opções e a escolha depende da sua necessidade. Se as tabelas forem relacionadas e você pretende fazer consultas que envolvam todas elas, pode ser mais prático unificá-las em um único arquivo. Por outro lado, se as tabelas forem bastante independentes entre si, pode ser mais eficiente mantê-las separadas.
Para alimentar as tabelas no AWS utilizando os arquivos no S3, você pode usar o AWS Glue. O AWS Glue é um serviço de ETL (Extract, Transform, Load) totalmente gerenciado que facilita a preparação e o carregamento de seus dados para análise. Você pode criar e executar um trabalho do AWS Glue que lê dados de um local no Amazon S3, transforma esses dados e grava os dados transformados em um local do Amazon S3. Depois disso, você pode usar os dados transformados no Amazon RDS ou no DynamoDB, dependendo da sua necessidade.
Por exemplo, se você estiver usando o Amazon RDS, você poderia usar uma ferramenta como o AWS Data Pipeline para importar os dados do S3 para o RDS. Se estiver usando o DynamoDB, você poderia usar o AWS Lambda para ler os arquivos do S3 e inserir os dados no DynamoDB.
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.