andrew_stewart
02/16/2021, 8:36 PMdouwe_maan
02/16/2021, 8:42 PMWe’re going to use Meltano to manage our ELT (not ETL!) pipelines, each of which will extract data from some source and load that data into a target database. If we were rolling our own ETL solution by hand, we would probably be writing an awful lot of custom python code for each data extraction and loading process, but fortunately the open-source Singer standard composes these processes into interchangeable sets of “taps” (data sources) and “targets” (load destinations). Meltano helps abstract away much of the configuration details, and provides a convenient execution layer. Meltano can also handle the downstream transformation (via dbt) and orchestration (via Airflow) steps, making it convenient top-level controller for your entire project, however for illustrative purposes we’re going to only use Meltano for the extraction and loading steps.
douwe_maan
02/16/2021, 8:43 PMwe only need to add the `tap-spreadsheets-from-anywhere` plugin to our project. This is a very versatile tap that will let us extract CSV and Excel files from many sources including http/s, s3, sftp, and more.
The tap is actually calledmeltano add extractor tap-spreadsheets-from-anywhere
tap-spreadsheets-anywhere , without fromdouwe_maan
02/16/2021, 8:44 PMmeltano.yml example, variant and capabilities can be omitted:
plugins:
extractors:
- name: tap-spreadsheets-anywhere
pip_url: git+<https://github.com/ets/tap-spreadsheets-anywhere.git>
config: # etcdouwe_maan
02/16/2021, 8:45 PMWhile Stitch (via Meltano) loads data into a database from one or more external sources
douwe_maan
02/16/2021, 8:46 PMandrew_stewart
02/17/2021, 8:38 PMandrew_stewart
02/17/2021, 8:48 PMchris_dietrich
02/19/2021, 5:09 PMsam_edelstein
02/21/2021, 2:31 PMandrew_stewart
02/22/2021, 7:17 PM