【问题标题】:Slow Stream Analytics with blob input带有 blob 输入的慢流分析
【发布时间】:2018-04-15 05:43:51
【问题描述】:

我继承了一个解决方案,它使用带有 blob 作为输入的流分析,然后写入 Azure SQL 数据库。

最初,该解决方案运行良好,但在向容器添加数百万 blob(而不是删除旧 blob)后,流分析处理新 blob 的速度很慢。此外,似乎有些 blob 被遗漏/跳过了。

问题:流分析如何知道容器中有新的 blob?

在 EventGrid 之前,Blob 存储没有推送通知机制让流分析知道需要处理新的 Blob,因此我假设流分析正在轮询容器以获取 Blob 列表(使用类似CloudBlobContainer.ListBlobs()) 并在内部保存 blob 列表,这样当它再次轮询时,它可以将新列表与旧列表进行比较,并知道哪些 blob 是新的并且需要处理。

documentation 声明:

流分析只会查看每个文件一次

但是,除了那个注释之外,我还没有看到任何其他文档来解释流分析如何知道要处理哪些 blob。

【问题讨论】:

  • 您是如何设法让 Blob 存储工作作为输入的?我总是在 SQL 查询中得到 0 行。你能帮忙吗?

标签: azure azure-blob-storage azure-stream-analytics


【解决方案1】:

ASA 使用列表 blob 来获取 blob 列表。

如果您可以按日期时间模式对 blob 路径进行分区,那就更好了。 ASA 只需列出发现新 blob 的特定路径,如果没有日期模式,则必须列出所有 blob。这可能就是为什么它会随着大量 blob 变慢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    • 2017-07-15
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多