Hello,
You can define a live or streaming live view or table:
A live table or view always reflects the results of the query that defines it, including when the query defining the table or view is updated, or an input data source is updated. Like a traditional materialized view, a live table or view may be entirely computed when possible to optimize computation resources and time.
A streaming live table or view processes data that has been added only since the last pipeline update. Streaming tables and views are stateful; if the defining query changes, new data will be processed based on the new query and existing data is not recomputed.
Autoloader can be used for batch processing as well by using the readStream with a Trigger.Once option. https://learn.microsoft.com/en-us/azure/databricks/ingestion/auto-loader/production#cost-considerati....
So in your case you could setup autoloader readStream to watch new files that land in a file path with wildcards like
input_stream = (
spark
.readStream.format("cloudFiles")
.option("cloudFiles.format", "csv")
.schema("name STRING, group STRING")
.load(base_dir + "/data/*/datasource_A_*.csv")
)