AWS Glue
AWS Glue has three main parts: the Data Catalog, a metadata repository of databases and tables (used by Athena and Redshift); crawlers that infer schemas from files in S3 or databases; and ETL jobs, serverless Spark or Python scripts that transform data. It is billed by DPU-hour for jobs and crawlers.
With Terraform: aws_glue_catalog_database, aws_glue_crawler and aws_glue_job.