我正在使用 azure-kusto-spark 将数据写入 Kusto。这次写入的数据很小。此 Spark-kusto 连接器使用批处理流。
但我发现此写入的延迟很高,大约需要 8 分钟。
从我看到的日志来看,这种高延迟是在分段摄取部分。我看到创建了一个临时暂存表,并且通过多个作业将数据引入其中。只有当分期摄取完成后,数据才会最终合并并写入 kusto 表。
任何人都可以指出为什么这么小的数据有如此多的延迟吗?
这可能是因为您的 Kusto 表摄取策略(如此处所述)https://github.com/Azure/azure-kusto-spark/blob/master/docs/KustoSink.md#performance-considerations
您可能想要修改默认提取策略并将时间设置为小于默认值(5 分钟)。请参阅此文档以供参考https://learn.microsoft.com/en-us/azure/data-explorer/kusto/management/batchingpolicy#defaults-and-limits
单独设置批量摄取策略无助于减少写入延迟。
将此选项“writeMode”:“Queued”添加到 Spark Kusto 连接器将我的写入延迟从 30 秒改善到亚秒。
记录在这里:https://github.com/Azure/azure-kusto-spark/blob/master/docs/KustoSink.md