Autoloader with file notification mode sleeps for 5000ms multiple times
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-09-2024 08:13 AM
Using DBR 15.4, i'm ingesting streaming data from adls using autoloader with file notification mode enabled. This is an older code which is using foreachbatch sink to process the data before merging with tables in delta lake.
Issue
Streaming job, is using available now trigger, but rather than processing the data in one go, it sleeps for 5000ms multiple times before closing the stream.
Expectation
With available now trigger, it should process the available data and then close the stream, rather than waiting for 5000ms multiple times (5 to 6 times) which is creating undesired execution delay.
Here's the autoloader options used with streaming job:
{
'cloudFiles.format': 'json',
'cloudFiles.includeExistingFiles': 'false',
'cloudFiles.maxFilesPerTrigger': 1000,
'cloudFiles.maxBytesPerTrigger': '2g',
'cloudFiles.useNotifications': 'true',
'cloudFiles.subscriptionId': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'cloudFiles.tenantId': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'cloudFiles.clientId': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'cloudFiles.clientSecret': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'cloudFiles.resourceGroup': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'cloudFiles.fetchParallelism': 10,
'cloudFiles.resourceTag.streaming_job_autoloader_stream_id': 'databricks-event-xxxxxxxxxxxxxxx',
'cloudFiles.queueName': 'databricks-event-xxxxxxxxxxxxxxx',
'pathGlobfilter': '*.json'
}Question
Is this the default behaviour with file notification mode in autoloader?
Is it possible to customize/remove the delay?
Thanks