I have six fairly simple CSV files containing dates, amounts, vendors, and comments. I uploaded them to Amazon S3, created a Glue database and crawler, and started using Bedrock with Nova Lite to generate SQL. So far, I'm running separate queries for each file and then another query to combine everything into one dataset.
My goal is simply to analyze expenses by category and create a basic visualization. Is there a better AWS workflow that avoids all these manual steps? Can QuickSight connect directly to the Glue Catalog or query the files through Athena? I'm using this as a learning project, so I'd like to understand how Bedrock, Glue, Athena, and QuickSight fit together without building an unnecessarily complicated or expensive pipeline.
4 Answers
The typical AWS setup would be S3 for the CSV files, Glue Crawler to infer their schema and store the metadata in the Glue Data Catalog, Athena to query the files, and QuickSight to build the charts. If all six files have the same columns and are in the same S3 location, Athena can often query them as one table without physically merging them first. You can then connect QuickSight to the Athena dataset and create expense-by-category visuals.
If your main goal is learning data analysis rather than specifically learning AWS, this can be much simpler. A small Python script with pandas and a charting library, or DuckDB reading the CSV files directly, can combine the files and produce charts locally. Parquet is also worth considering for larger datasets. You can still recreate the same workflow later with S3, Glue, Athena, and QuickSight once the data model is clear.
QuickSight is probably the visualization tool you’re looking for. It can use Athena as its data source, and Athena can read the tables created by your Glue crawler. Just be careful with refresh settings and query costs, since Glue, Athena, QuickSight, and Bedrock are enterprise-oriented services and may be overkill for a small personal dataset. Set a budget alert before experimenting.
Before doing more work in the account, make sure the basics are secured: enable MFA on the root account, don’t use root access keys, create an IAM user or role for normal work, and configure AWS Budgets and billing alerts. Services such as Bedrock and Athena can generate charges if queries or processing are repeated unexpectedly. It’s worth putting those guardrails in place first.

That makes sense. I’m intentionally trying to learn the AWS pieces, but starting locally to understand the data and expected charts may save me from debugging several services at once.