未使用流分析作业从 Azure Blob 获取完整记录

Complete records are not Obtained from Azure Blob using Stream Analytics Job

我将数据从 Spark 数据帧以 json 格式保存到 Azure Blob 存储。 现在我编写了一个流分析作业来从 Azure Blob 中获取数据并将其存储到 Cosmos DB 中。

当我使用包含 10K 条记录的示例文件(小于 1MB)测试流分析作业时,它返回整个 10K 条记录作为输出,这是预期结果。

问题是当我从 blob 存储中提取样本并进行测试时,只有 700 条记录返回。但是在 Blob 存储中大约有 5GB 的数据,预期的输出不应该是 700 行,应该是一个很大的值。

知道为什么会出现这种记录数量差异吗? 我的 Blob 存储结构如下。 Container Name是dataframecopy,dataload/testdata是存放文件的位置。

以下是可用文件的大小。

流分析作业中提供的 Blob 设置如下所示。

Blob Input 的数据采样输出为 783 行,如下所示,就好像我从本地计算机上传 1MB 的样本数据文件一样 returns 10K 行。

Sampling events from a live source will retrieve up to 1000 events or 1 MB (whichever comes first), so the data sampled may not represent the full time interval specified.

https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-test-query

我不太清楚你的问题,但这符合你的情况吗?

从我们的本地计算机添加示例文件时,我们可以上传的最大文件大小为 2MB。 如果您从 Blob 输入本身获取样本,它不会从 Blob 中获取全部数据,而是获取小于 1MB 的数据作为样本数据。所以输出时得到的行数会比较少

一旦您 运行 分析作业,我们可以看到正在处理 blob 中的整个数据。 所以上面问的问题不是错误或问题