I have a question about using Airflow: how does it...
# getting-started
d
I have a question about using Airflow: how does it set start_date and end_date for the extractor to get incremental data? I'm using tap-googleads
p
@dashiq_team meltano has the concept of state backends where these incremental bookmarks are stored and retrieved. So Airflow isnt actually managing it for you in this situation
d
So, basically I don't have to setup start_date and end_date programmatically, meltano figure it out by itself? Because I noticed that if I don't specify them in the meltano.yml the extractor runs just fine in airflow, is that the way you do it?
p
Yes connectors that support incremental replication will output state after running successfully, meltano stores it for you, then on the next run it retrieves it and passes it to the connector. See https://docs.meltano.com/guide/production#storing-metadata for a bit more info, meltano uses a local sqlite database for this by default so depending on how you deploy airflow you might need to configure a remote database for this or a an alternative state backend so state is presisted. Theres also the state cli command for interfacing with this stored state if you ever need to check it, change it, delete it, etc
d
Awesome!
Hi Pat, is incremental replication working with all type of loaders? I'm having problem with mongodb loader with facebook tap and I was wondering if I can use json instead, jsonl works fine, as long as incremental replication is still valid
I'm using postgres for airflow
p
The incremental logic is implemented on the tap side so yes theoretically all targets should work with incremental. Is your problem related to https://meltano.slack.com/archives/C01TCRBBJD7/p1687382073218909? That looks like a tap problem if the data isnt valid