A common modern AWS data engineering workflow looks like this:
ποΈ Oracle/MS SQL/Teradata Database Extract
β
π Raw CSV lands in Amazon S3
β
βοΈ AWS Glue (PySpark) Cleanse / Transform
β
πͺΆ Write Partitioned Parquet Files
β
π AWS Glue Catalog Update
β
π Amazon Athena / π₯ Amazon Redshift Query
S3 stands for Simple Storage Service.
A giant object warehouse, where files of all kinds are stored:
Example object:
s3://voltedge-data/curated/member/2026/01/09/part-0001.parquet
Breaking it apart:
| Component | Meaning |
|---|---|
s3:// |
S3 protocol |
voltedge-data |
Bucket name πͺ£ |
curated/member/2026/01/09/ |
Path-like prefix π |
part-0001.parquet |
Actual object name π |
In S3, folders are mostly an illusion.
There are no real nested directories like:
/curated/member/2026/01/09/
Under the hood, S3 stores everything in a flat namespace of keys.
For example:
curated/member/2026/01/09/part-0001.parquet
is simply one long string key, not a file inside real folders.
AWS Console makes it look like folders exist because humans like hierarchy:
π curated
βββ π member
βββ π 2026
βββ π 01
βββ π 09
βββ π part-0001.parquet
And we engineers happily work with that illusion every day.
Result:
Raw operational data β clean analytical dataset β business insights
Extract β Land β Clean β Compress β Catalog β Query