For both the letters stand for the same thing: extract, load, and transform.
- Extract: process of obtaining data from a source system. Data can be retrieved from an API (python process), or it can be accessed from an OLTP database.
- Transform: process of transforming the extracted data. This includes things like changing field types and names, enhancing data, creating schemas, etc.
- Load: process of loading transformed data into the data asset used by the end-user. This would lead to things to further analyze the data, like reporting and visualization or ML/AI tools.
ETL
For ETL, the data is extracted from a source, transformed, and loaded into tables for end-user usage (can be done with Python, Spark, Scala, or SQL in the data warehouse). ETL is an older method ideal for complex transformations of smaller data sets. This creates a bottleneck because you have engineers who have to transform all the data before moving it to a bigger access point for others.
ELT
For ELT, the data is extracted from a source, then the raw data is loaded into a data warehouse where it is transformed. From there, the warehouse is connected to analysis tools to access the transformed tables. ELT is a newer technology that provides more flexibility to analysts and is perfect for processing both structured and unstructured data. This video does a good job of going through ELT and why to use it.
This website had a great detailed account of what the difference between the two terms is. This video also did a great job visualizing the difference between the two terms. Analytics Vidhya blog has an article that has a section which talks about ELT and ETL.