Databricks Autoloader 如何在微批中拆分数据?

问题描述 投票:0回答:0

基于this,Databricks Runtime >= 10.2 支持“availableNow”触发器,可用于在较小的不同微批中执行批处理,其大小可以通过文件总数(maxFilesPerTrigger)或总大小进行配置以字节为单位 (maxBytesPerTrigger)。出于我的目的,我目前正在使用具有以下值的两者:

maxFilesPerTrigger = 10000
maxBytesPerTrigger = "10gb"

我的每日批处理包括 15,000 到 20,000 范围内的多个文件。设置了相当高的“maxBytesPerTrigger”限制后,至少与我的数据相关,我希望在每个批处理过程中,会形成两个微批次,第一个包含 10,000 个文件,第二个包含其余文件。然而,通常会形成三个微批次,第一个包含相当少的文件(大约 500 个左右),第二个包含 10,000 个文件,第三个包含其余文件,通常为 5,000 到 10,000 个文件。

有人知道为什么有三个微批而不是两个,第一个总是包含少量文件吗?

apache-spark databricks batch-processing spark-structured-streaming databricks-autoloader
© www.soinside.com 2019 - 2024. All rights reserved.