对数据流进行流式处理(预览版)

组织希望在接收数据时就对其进行处理,而不是在几天或几周后。 Power BI 的设想很简单:消除批处理数据、实时数据和流式数据之间的区别。 一旦数据可用,用户应能够使用所有数据。

重要

流式数据已停用,且不再可用。 Azure 流分析已合并流式数据流的功能。 有关停用流式数据流的详细信息,请参阅停用公告

分析师通常需要技术帮助来处理流数据源、数据准备、基于时间的复杂操作和实时数据可视化。 IT 部门经常依赖于自定义构建的系统,以及各种供应商提供的技术组合来及时对数据进行分析。 如果没有这种复杂性,他们将无法以准实时的方式向决策者提供信息。

通过流式数据流,作者可以直接在 Power BI 服务中基于准实时的流式数据连接、引入、混合、建模和生成报表。 该服务支持出色的拖放、无代码体验。

如果需要通过用户界面 (UI)(包括“图示视图”)以便轻松进行数据混合,可以将流式数据与批处理数据进行混合和匹配。 最终生成的项是一种数据流,可以实时使用,从而创建高度交互、准实时的报表。 Power BI 中的所有数据可视化功能都可以处理流数据,就像处理批处理数据一样。

Diagram showing an example of mixed streaming and batch data in a simple workflow that creates real-time reports in Power BI.

用户可以执行数据准备操作,如联接和筛选。 他们还可以执行时间窗口聚合(例如翻转、跳跃和会话窗口)以进行分组操作。

Power BI 中的流式数据流使组织能够:

  • 准实时做出可靠决策。 组织更具敏捷性,并根据最新的见解采取有意义的措施。
  • 使流数据大众化。 组织使数据更易于访问,更易于通过无代码解决方案进行解析,该辅助功能可减少 IT 资源。
  • 将端到端流分析解决方案与集成的数据存储和 商业智能一同使用,从而加快见解的获取速度。

流式数据流支持 DirectQuery 和自动页面刷新/更改检测。 此支持允许用户使用 Power BI 中的任何视觉对象,生成准实时更新的报表,最多每秒更新一次。

要求

创建第一个流式数据流之前,请确保满足以下所有要求:

  • 要创建和运行流式数据流,你需要一个工作区,该工作区是高级容量或 Premium Per User (PPU) 许可证的一部分。

    重要

    如果使用 PPU 许可证,并且希望其他用户使用通过实时更新的流式数据流创建的报表,则他们还需要 PPU 许可证。 然后,如果刷新频率超过每 30 分钟一次,那么他们就可以使用你设置的相同刷新频率的报表。

  • 为租户启用数据流。 有关详细信息,请参阅在 Power BI Premium 中启用数据流

  • 若要确保流式数据流在高级容量中工作,需要打开增强的计算引擎。 默认情况下,引擎将打开,但 Power BI 容量管理员可以将其关闭。 那么,请与管理员联系将其打开。

    增强的计算引擎仅可用于 Premium P 或 Embedded A3 和更大的容量。 若要使用流式数据流,需要使用 PPU、任意大小的 Premium P 容量、Embedded A3 或更大的容量。 有关 Premium SKU 及其规格的详细信息,请参阅 Power BI 嵌入式分析中的容量和 SKU

  • 要创建实时更新的报表,请确保管理员(容量或 Power BI for PPU)已启用自动页面刷新。 此外,请确保管理员已允许满足你需求的最小刷新间隔。 有关详细信息,请参阅 Power BI 中的自动页面刷新

创建流式数据流

流式数据流(就像它的相对数据流一样)是在 Power BI 服务的工作区中创建和管理的实体(表)集合。 表是一组用于存储数据的字段,与数据库中的表非常相似。

可以直接在创建数据流的工作区中添加和编辑流式数据流中的表。 常规数据流的主要区别在于,无需担心刷新或频率。 由于流数据的性质,有一个连续流传入。 除非停止刷新,否则刷新是常量或无限期的。

注意

每个工作区只能有一种类型的数据流。 如果高级工作区中已有常规数据流,则无法创建流式数据流(反之亦然)。

创建流式数据流:

  1. 在浏览器中打开 Power BI 服务,然后选择高级工作区。 (在“我的工作区”中,流式数据流(如常规数据流)不可用。)

  2. 选择“新建”下拉菜单,然后选择“流式数据流”。

    Screenshot that shows the New menu options with streaming dataflow highlighted.

  3. 在打开的侧窗格上,必须命名流式数据流。 在“名称”框中输入名称 (1),然后选择“创建” (2)。

    Screenshot of the new streaming dataflow pane with name and create highlighted.

    将显示流式数据流的空图示视图。

以下屏幕截图显示了已完成的数据流。 它突出显示了可用于在流式数据流 UI 中创作的所有部分。

Screenshot of an example dataflow window with the ribbon, diagram view, side pane, and tabs highlighted.

  1. 功能区:在功能区中,各个部分遵循“经典”分析过程顺序:输入(也称为数据源)、转换(流式处理 ETL 操作)、输出,以及用于保存进度的按钮。

  2. 图示视图:该视图是数据流从输入到操作再到输出的图形表示形式。

  3. 侧窗格:根据你在图示视图中选择的组件,具有修改每个输入、转换或输出的设置。

  4. 数据预览、创作错误和运行时错误选项卡:对于显示的每个卡片,数据预览会向你显示此步骤的结果(输入为实时,转换和输出则为按需)。

    本部分还汇总了你在数据流中可能遇到的任何创作错误或警告。 选择每个错误或警告选择对应的转换。 此外,在数据流运行后,你将能够访问运行时错误,如删除的消息。

    选择右上角中的箭头,始终可以最小化这部分流式数据流。

流式数据流基于三个主要组件生成:流式输入、转换和输出。 你可以拥有任意数量的组件,包括多个输入、具有多个转换的并行分支和多个输出。

添加流式输入

若要添加流输入,请选择功能区中的图标,并提供侧窗格中所需的信息进行设置。 从 2021 年 7 月起,流式数据流预览将支持 Azure 事件中心Azure IoT 中心作为输入。

Azure 事件中心和 Azure IoT 中心服务构建在常见体系结构之上,旨在促进事件的快速、可缩放的引入和使用。 IoT 中心专门充当中央消息中心,用于 IoT 应用程序及其连接设备之间的双向通信。

Azure 事件中心

Azure 事件中心是大数据流式处理平台和事件引入服务。 它可以每秒接收和处理数百万个事件。 可以使用任何实时分析提供程序或者批处理或存储适配器来转换和存储发送到事件中心的数据。

若要将事件中心配置为流式数据流输入,请选择“事件中心”图标。 图示视图中会显示一张卡片,其中包括其配置侧窗格。

Screenshot that shows the event hub card and configuration pane in diagram view.

可以选择粘贴事件中心连接字符串。 流式数据流会填充所有必要的信息,包括可选的使用者组(默认情况下为“$Default”)。 如果要手动输入所有字段,可以打开手动输入开关以显示它们。 若要了解详细信息,请参阅获取事件中心连接字符串

设置事件中心凭据并选择“连接”后,如果知道字段名称,可以使用“+ 添加字段”手动添加字段。 或者,可以根据传入消息示例自动检测字段和数据类型,请选择“自动检测字段”。 选择齿轮图标可根据需要编辑凭据。

Screenshot that shows input data options, EntryTime is selected with the more options tool tip displayed.

当流式数据流检测到这些字段时,列表中会显示这些字段。 图示视图下的“数据预览”表中也会有传入消息的实时预览。

始终可以通过选择每个字段旁边的更多选项 (...) 来编辑字段名称、删除或更改数据类型。 还可以从传入消息中展开、选择和编辑任何嵌套字段,如下图所示。

Screenshot that shows remove, rename and data type options for input data.

Azure IoT 中心

IoT 中心是托管在云中的托管服务。 它充当中央消息中心,用于 IoT 应用程序及其连接设备之间的双向通信。 可以安全可靠地连接数百万台设备及其后端解决方案。 几乎任何设备都可以连接到 IoT 中心。

因其常见体系结构,IoT 中心配置类似于事件中心配置。 但存在一些差异,包括在何处查找内置终结点的与事件中心兼容的连接字符串。 请参阅从内置终结点读取设备到云的消息了解详细信息。

 Screenshot that shows the IOT Hub card and configuration pane in diagram view

粘贴内置终结点连接字符串后,从 IoT 中心传入的所有选择、添加、自动检测和编辑字段的功能都与事件中心内的功能相同。 还可以通过选择齿轮图标来编辑凭据。

提示

如果你有权限访问组织的 Azure 门户中的事件中心或 IoT 中心,并且想要将其用作流式数据流的输入,则可以在以下位置找到连接字符串:

对于事件中心:

  1. 在“分析”部分中,选择“所有服务”>“事件中心”。
  2. 选择“事件中心命名空间”>“实体/事件中心”,然后选择事件中心名称。
  3. 在“共享访问策略”列表中,选择策略。
  4. 选择“连接字符串-主键”字段旁边的“复制到剪贴板”。

对于 IoT 中心:

  1. 在“物联网”部分,选择“所有服务”>“IoT 中心”。
  2. 选择要连接到的 IoT 中心,然后选择“内置终结点”。
  3. 选择与事件中心兼容的终结点旁边的“复制到剪贴板”。

如果使用的流数据来自事件中心或 IoT 中心,则可以在流式数据流中访问以下元数据时间字段:

  • EventProcessedUtcTime:处理事件的日期和时间。
  • EventEnqueuedUtcTime:接收事件的日期和时间。

这两个字段都不会出现在输入预览中。 需要手动添加它们。

Blob 存储

Azure Blob 存储是 Microsoft 提供的适用于云的对象存储解决方案。 Blob 存储最适合存储巨量的非结构化数据。 非结构化数据是不遵循特定数据模型或定义的数据(如文本或二进制数据)。

可以使用 Azure Blob 作为流式处理或引用输入。 每秒检查一次流式处理 blob 是否有更新。 与流式处理 blob 不同,引用 blob 仅在刷新开始时加载。 它是静态数据,预计不会改变,建议限制为 50 MB 或更少。

Power BI 要求引用 blob 与流式处理源配合使用,例如通过 JOIN。 因此,具有引用 blob 的流式数据流还必须具有流式处理源。

Azure Blob 的配置与 Azure 事件中心节点的配置略有不同。 若要查找 Azure Blob 连接字符串,请参阅查看帐户访问密钥

 Screenshot that shows the Streaming blob card and configuration pane in diagram view

输入 Blob 连接字符串后,需要提供容器的名称。 还需要在目录中输入路径模式,以访问要设置为数据流源的文件。

对于流式处理 blob,目录路径模式应该是动态值。 日期需要成为 blob 的文件路径的一部分,引用为 {date}。 此外,路径模式中的星号 (*)(例如 {date}/{time}/*.json)将不受支持。

例如,如果有一个名为 ExampleContainer 的 blob,你正在该 blob 中存储嵌套的 .json 文件,其中第一个级别是创建日期,第二个级别是创建小时(格式为 yyyy-mm-dd/hh),然后容器输入为“ExampleContainer”。 目录路径模式为“date}/{time}”,可以在其中修改日期和时间模式。

Screenshot that shows the stream blob input boxes used to configure the example container.

将 blob 连接到终结点后,所有来自 Azure Blob 的选择、添加、自动检测和编辑字段的功能与事件中心中的功能是相同的。 还可以通过选择齿轮图标来编辑凭据。

通常,处理实时数据时,数据被压缩,并使用标识符来表示对象。 blob 的一个可能用例也可以作为流式处理源的参考数据。 参考数据允许将静态数据联接到流数据,以扩充流进行分析。 举例来说,如果在不同的百货公司安装传感器以计算在给定时间进入商店的人数,这一功能将十分有效。 通常,传感器 ID 需要联接到静态表,以指示传感器所在的部门商店以及位置。 现在,借助参考数据,在引入阶段可以联接此数据,以便轻松查看哪些存储的用户输出最高。

注意

如果 blob 文件可用,则流式数据流作业每秒从 Azure Blob 存储或 ADLS Gen2 输入提取数据。 如果 blob 文件不可用,则存在指数回退,且最长时间延迟为 90 秒。

数据类型

流式数据流字段的可用数据类型包括:

  • DateTime:采用 ISO 格式的日期和时间字段
  • Float:小数
  • Int:整数
  • Record:包含多个记录的嵌套对象
  • String:文本

重要

为流式输入选择的数据类型对流式数据流下游具有重要意义。 在数据流中尽早选择所需的数据类型,以避免稍后需要停止它进行编辑。

添加流数据转换

流数据转换本质上与批处理数据转换不同。 几乎所有流数据都有一个时间组件,它会影响所涉及的任何数据准备任务。

若要向数据流添加流数据转换,请为该转换选择功能区上的转换图标。 图示视图中显示相应的卡片。 选择转换后,你将看到该转换的侧窗格以进行配置。

自 2021 年 7 月起,流式数据流支持以下流式转换。

筛选器

使用“筛选器”转换以基于输入中的字段值筛选事件。 根据数据类型(数值或文本),转换会保留与所选条件匹配的值。

Screenshot that shows the Filter input boxes used to configure the example container.

注意

在每个卡片中,你将看到有关转换准备就绪所需的其他内容的信息。 例如,在添加新卡片时,你将看到“需要设置”消息。 如果缺少节点连接器,将显示“错误”或“警告”消息。

管理字段

利用“管理字段”转换,你可以添加、删除或重命名从输入或其他转换中传入的字段。 使用侧窗格上的设置可以选择添加一个新的字段,方法是选择“添加字段”或一次添加所有字段。

Screenshot that shows configuration of the Manage fields transformation.

提示

配置卡片后,在图示视图中,你将大致了解卡片本身中的设置。 例如,在上图“管理字段”区域中,你可以看到正在管理的前 3 个字段以及分配给它们的新名称。 每张卡片都有相关信息。

聚合

你可以使用“聚合”转换来计算一段时间内每次新事件发生时的聚合(总和、最小值、最大值或平均值)。 此操作还允许你根据数据中的其他维度对聚合进行筛选或切片。 在同一转换中可以有一个或多个聚合。

要添加聚合,请选择转换图标。 然后连接输入,选择聚合,添加任何筛选或切片维度,并选择需要计算聚合的时间范围。 此示例按照车辆来自的省/市/自治区计算过去 10 秒的通行费值总和。

 Screenshot of an aggregate card with an existing aggregate function. The aggregate pane shows the calculation details.

若要将另一个聚合添加到相同转换,请选择“添加聚合函数”。 请记住,筛选或切片应用于转换中的所有聚合。

联接

可以使用“联接”转换根据所选的字段对合并两个输入中的事件。 如果不选择字段对,默认情况下连接是基于时间。 默认设置使此转换不同于批处理转换。

与常规联接一样,对于联接逻辑,还可以使用不同的选项:

  • 内部联接:只包括两个表(其中字段对匹配)中的记录。 在此示例中,牌照同时匹配两个输入。
  • 左外部联接:包含左侧(第一个)表中的所有记录,并且仅包含第二个表中与字段对匹配的记录。 如果没有匹配项,则第二个输入中的字段为空。

若要选择联接类型,请在侧窗格中选择首选类型的图标。

最后,选择你希望计算联接的时间段。 在此示例中,将计算过去 10 秒的联接。 请记住,时间越长,输出的频率越低,用于转换的处理资源就越多。

默认情况下,将包括两个表中的所有字段。 输出中的左前缀(第一个节点)和右前缀(第二个节点)有助于区分源。

Screenshot of the event hub and join cards with the join configuration pane open.

Group by

使用“分组依据”转换计算某个时间窗口内所有事件的聚合。 可以按一个或多个字段中的值进行分组。 它类似于“聚合”转换,但提供了更多聚合选项。 它还包含更复杂的时间窗口选项。 同样,与聚合类似,你可以为每个转换添加多个聚合。

此转换中可用的聚合包括:平均值、计数、最大值、最小值、百分比(连续和离散)、标准偏差、总和与方差。

若要配置此转换:

  1. 选择首选聚合。
  2. 选择要聚合的字段。
  3. 如果要在另一个维度或类别上获取聚合计算,请选择可选的“分组依据”字段(例如“省/市/自治区”)。
  4. 选择时间窗口函数。

若要将另一个聚合添加到相同转换,请选择“添加聚合函数”。 请记住,“分组依据”字段和窗口函数应用于转换中的所有聚合。

Screenshot of the Group by card with the configuration pane open.

时间窗口结束时间戳作为引用转换输出的一部分提供。

本文后面的部分介绍了可用于此转换的每种类型的时间窗口。

Union

使用“联合”转换可以连接两个或多个输入,将具有共享字段(具有相同名称和数据类型)的事件添加到一个表中。 不匹配的字段将删除,不会包含在输出中。

设置时间窗口函数

时间窗口是流数据中最复杂的概念之一。 此概念是流式分析的核心。

使用流式数据流,可以在聚合数据作为“分组依据”转换选项时设置时间窗口。

注意

请记住,在时间窗口结束时,将计算所有窗口操作输出结果。 窗口输出是基于聚合函数的单个事件。 该事件包含窗口的结束时间戳,所有窗口函数都定义为固定长度。

Diagram that shows three time windows on a graph.

有五种类型的时间窗口可供选择:翻转、跳跃、滑动、会话和快照。

翻转窗口

翻转最常见的时间窗口类型。 翻转窗口的主要特征是它们会重复,具有相同的时间长度,并且不会重叠。 一个事件不能属于多个翻转窗口。

Diagram that shows a 10-second tumbling window.

在流式数据流中设置翻转窗口时,需要提供窗口持续时间(本例中所有窗口都是一样的)。 还可以提供一个可选偏移。 默认情况下,翻转窗口包括窗口结束时间,不包括开始时间。 可以使用此参数更改此行为,包含窗口开始时发生的事件,并排除窗口结束时发生的事件。

Screenshot that shows duration and offset settings for a tumbling time window.

跳跃窗口

跳跃窗口按固定时段适时向前“跳跃”。 可以将它们视为可以重叠且比窗口大小更频繁发出的翻转窗口。 事件可以属于跳跃窗口的多个结果集。 要使跳跃窗口与翻转窗口相同,可以将跃点大小指定为与窗口大小相同。

Diagram that shows a 10-second hopping window.

在流式数据流中设置跳跃窗口时,需要提供窗口持续时间(与翻转窗口相同)。 还需要提供跃点大小,该大小会告诉流式数据流你想要在定义的持续时间内计算聚合的频率。

偏移参数在跳跃窗口中也可用,原因与滚动窗口相同。 它定义用于针对跳跃窗口开始和结束来包括和排除事件的逻辑。

Screenshot that shows hop size, duration, and offset settings for a hopping time window.

滑动窗口

滑动窗口不同于翻转或跳跃窗口,只计算窗口内容实际更改时的时间点聚合。 当事件进入或退出窗口时,将计算聚合。 因此,每个窗口至少有一个事件。 与跳跃窗口类似,事件可以属于多个滑动窗口。

Diagram that shows a 10-second sliding window.

滑动窗口所需的唯一参数是持续时间,因为事件本身定义了窗口何时开始。 不需要任何偏移逻辑。

Screenshot that shows the duration setting for a sliding time window.

会话窗口

会话窗口是最复杂的类型。 它们对差不多同时到达的事件进行分组,筛选出没有数据的时间段。 针对此窗口,需要提供:

  • 超时:如果没有新数据,需要等待多久。
  • 最长持续时间:数据持续进入时计算聚合的最长时间。

如果需要,还可以定义分区。

Diagram that shows session windows with a five-minute timeout.

直接在转换的侧窗格上设置会话窗口。 如果提供分区,则聚合将仅将相同键的事件分组在一起。

Screenshot that shows the duration, timeout, and partition settings for a session time window.

快照窗口

快照窗口对具有相同时间戳的事件进行分组。 与其他窗口不同,快照不需要任何参数,因为它使用系统时间。

Diagram that shows a snapshot window on a 35-minute timeline.

定义输出

设置输入和转换后,可以定义一个或多个输出。 截至 2021 年 7 月,流式数据流只支持的输出类型为 Power BI 表。

此输出是一个数据流表(即一个实体),你可以使用它在 Power BI Desktop 中创建报表。 需要将上一步的节点与要创建的输出联接起来,使其正常工作。 然后,给表命名。

Screenshot that shows the output table card and output table configuration pane.

连接到数据流后,就可以使用此表为报表创建实时更新的视觉对象。

数据预览和错误

流式数据流提供的工具可帮助你创作流数据分析管道、排查故障,并对其性能进行评估。

输入的实时数据预览

连接到事件中心或 IoT 中心并在图示视图中选择相应的卡片(“数据预览”选项卡)时,如果以下所有条件都成立,你会获得传入数据的实时预览:

  • 正在推送数据。
  • 输入配置正确。
  • 已添加字段。

如以下屏幕截图所示,如果想查看或向下钻取特定内容,可以暂停预览 (1)。 或者,如果已完成,可以再次启动它。

还可查看特定记录的详细信息(表中的“单元格”),具体做法是选择它,然后选择“显示详细信息”或“隐藏详细信息” (2)。 屏幕截图显示了记录中嵌套对象的详细视图。

Screenshot that shows a live data preview with the pause and show or hide options highlighted.

转换和输出的静态预览

添加并设置图示视图中的任何步骤后,可以选择“静态数据”按钮测试其行为。

然后,流式数据流将评估所有正确配置的转换和输出。 然后,流式数据流在静态数据预览中显示结果,如下图所示。

Screenshot that shows a static data preview with the refresh and hide options highlighted.

可以通过选择“刷新静态预览”来刷新预览 (1)。 当你执行此操作时,流式数据流将从输入中获取新数据,并使用你可能已执行的任何更新再次评估所有转换和输出。 “显示或隐藏详细信息”选项也可用 (2)。

创作错误

如果有任何创作错误或警告,“创作错误”选项卡 (1) 将列出这些错误或警告,如以下屏幕截图所示。 该列表包含错误或警告的详细信息、卡片类型(输入、转换或输出)、错误级别以及错误或警告说明 (2)。 选择任意错误或警告时,选择相应的卡片,并打开配置侧窗格以进行所需的更改。

Screenshot that shows a list of authoring errors.

运行时错误

预览版中的最后一个可用选项卡是“运行时错误” (1),如以下屏幕截图所示。 此选项卡列出了启动流式数据流后,在引入和分析过程中出现的任何错误。 例如,如果传入的消息损坏,并且数据流无法引入它并执行定义的转换,那么你可能会收到运行时错误。

由于数据流可能会长时间运行,因此该选项卡提供了按时间跨度筛选的选项,还提供了下载错误列表并按需刷新的选项 (2)。

Screenshot that shows the tab for runtime errors, along with options for filtering, downloading, and refreshing.

修改流式数据流的设置

与常规数据流一样,可以根据所有者和作者的需要修改流式数据流设置。 以下设置对于流式数据流是唯一的。 对于其他设置,由于这两种类型数据流之间的共享基础结构,因此,你可以假定使用是相同的。

Screenshot that shows settings for a streaming dataflow.

  • 刷新历史记录:由于流式数据流持续运行,因此刷新历史记录只显示数据流启动时间、取消时间或失败时间的信息(包含详细信息和错误代码(如果适用))。 此信息类似于常规数据流中显示的信息。 可以使用此信息排查问题,或提供 Power BI 支持获取请求的详细信息。

  • 数据源凭据:此设置显示已为特定流式数据流配置的输入。

  • 增强的计算引擎设置:流式数据流需要增强的计算引擎来提供实时视觉对象,使此设置在默认情况下启用且无法更改。

  • 保留期:此设置特定于流式数据流。 你可以在此处定义要在报表中实时显示数据的时间长度。 默认情况下,历史数据保存在 Azure Blob 存储中。 此设置特定于数据的实时端(热存储)。 最小值是 1 天或 24 小时。

    重要

    在此数据的基础上创建报表时,此保留期存储的热数据量会直接影响实时视觉对象的性能。 在此提供的保留期越长,报表中的实时视觉对象就越容易受到低性能的影响。 如果需要执行历史分析,应使用为流式数据流提供的冷存储。

运行和编辑流式数据流

保存并配置流式数据流后,就可以运行了。 然后,可以使用已定义的流分析逻辑开始将数据引入到 Power BI。

运行流式数据流

若要启动流式数据流,请首先保存数据流,然后转到创建它的工作区。 将鼠标悬停在流式数据流上,然后选择出现的播放按钮。 你将看到一个弹出消息,提示你正在启动流式数据流。

Screenshot that shows the play button for starting a streaming dataflow.

注意

可能需要五分钟才会开始引入数据,你可以看到数据传入 Power BI Desktop 用于创建报表和仪表板。

编辑流式数据流

流式数据流运行期间,不能对其进行编辑。 但是,可以进入处于运行状态的流式数据流,并查看构建数据流所基于的分析逻辑。

访问正在运行的流式数据流时,所有编辑选项都处于禁用状态,并且显示一条消息:“数据流正在运行,无法编辑。 如果要继续,请停止数据流。”还禁用了数据预览。

要编辑流式数据流,必须停止它。 停止的数据流将导致缺少数据。

流式数据流运行时唯一可用的体验是“运行时错误”选项卡,你可以在其中监视任何已删除消息和类似情况下的数据流行为。

Screenshot that shows the disabled data preview when a streaming dataflow is running.

编辑数据流时考虑数据存储

编辑数据流时,需要考虑其他注意事项。 与常规数据流架构的任何更改类似,如果对输出表进行更改,你将丢失已推送并保存到 Power BI 的数据。 该接口清楚地说明了有关流式数据流中任何这些更改将导致的后果,以及保存前所做的更改选择。

可以通过示例更好地展示这一体验。 下面的屏幕截图显示了在向第一个表添加列、更改第二个表的名称,以及保留第三个表名时将收到的消息。

Screenshot that shows an informational message that lists the changes made to output tables and their impact.

在本例中,如果保存更改,则已经保存在架构和名称都已更改的两个表中的数据将被删除。 对于保持原样的表,可以选择删除所有旧数据并从头开始,或者将其与传入的新数据一同保存以供以后分析。

编辑流式数据流时,尤其是在以后需要可用的历史数据以供进一步分析时,请记住这些细微差别。

使用流式数据流

流式数据流运行后,便可以开始基于流数据创建内容。 与创建实时更新的报表时必须执行的更改相比,没有结构变化。 但需要考虑一些细微差别和更新,以便可以利用这种新的数据准备类型来处理流数据。

设置数据存储

如前文所述,流式数据流将数据保存在以下两个位置。 使用这些源的方式取决于要尝试执行的分析类型。

  • 热存储(实时分析):当数据从流式数据流传入 Power BI 时,数据存储在某个热存储层位置,以便实时访问视觉对象。 此存储中保存的数据量取决于流式数据流设置中定义的“保留期”值。 默认值(以及最小值)是 24 小时。
  • 冷存储(历史分析):未纳入“保留期”中定义的时间段内的任何时间段都保存在 Power BI 的冷存储 (blob) 中,以供需要时使用。

注意

这两个数据存储位置存在重叠。 如果需要同时使用这两个位置(例如,每日百分比变化),可能需要删除重复记录。 这取决于你进行的时间智能计算和保留策略。

从 Power BI Desktop 连接到流式数据流

Power BI Desktop 提供名为 Dataflows 的连接器以供使用。 作为用于流式数据流的连接器的一部分,将显示两个与前面所述的数据存储匹配的表。

将数据连接到流式数据流:

  1. 转到“获取数据”,搜索 Power Platform,然后选择“数据流”连接器。

    Screenshot of the Get Data window, Power Platform is selected in the navigation pane and Dataflows is highlighted in the main pane.

  2. 使用 Power BI 凭据登录。

  3. 选择工作区。 查找包含流式数据流的数据流,然后选择该数据流。 (此示例中,流式数据流称为 Toll。)

  4. 你将看到所有输出表出现两次:一次用于流数据(热),一次用于存档数据(冷)。 可以通过在表名称后面添加的标签和图标来区分它们。

    Screenshot of a list of output tables in the Toll dataflow.

  5. 连接流数据。 存档数据案例同样仅在导入模式下可用。 选择包含“流式处理”和“热”标签的表,然后选择“加载”。

    Screenshot that shows hot output tables selected for streaming dataflows in Power BI Desktop.

  6. 当系统要求选择“存储模式”时,如果你的目标是创建实时视觉对象,请选择“DirectQuery”。

    Screenshot that shows the storage mode selected for streaming dataflows in Power BI Desktop.

现在,可以使用 Power BI Desktop 中提供的功能创建视觉对象、度量值等。

注意

常规 Power BI 数据流连接器仍可用,并将用于流式数据流,但有两个注意事项:

  • 它只允许连接到热存储。
  • 连接器中的数据预览不适用于流式数据流。

为实时视觉对象启用自动页面刷新

在报表准备就绪并添加了要共享的所有内容后,剩下的唯一步骤就是实时更新视觉对象。 可以使用“自动页面刷新”功能。 该功能允许你从 DirectQuery 源刷新视觉对象,频率为 1 秒。

有关该功能的详细信息,请参阅 Power BI 中的自动页面刷新。 该文章包括了其使用方法、设置方法以及在遇到问题时如何与管理员联系的相关信息。 以下内容介绍了该功能的设置方法:

  1. 前往你希望实时更新视觉对象的报表页。

  2. 清除页面上的任何视觉对象。 如果可能,请选择页面背景。

  3. 转到格式窗格 (1),然后打开“页面刷新” (2)。

    Screenshot that shows selections for turning on automatic page refresh.

  4. 设置你所需的频率(如果管理员允许,频率可以设为每秒)。

    Screenshot that shows frequency settings for automatic page refresh.

  5. 若要共享实时报表,请首先将其发布回 Power BI 服务。 然后,你可以为语义模型和共享设置数据流凭据。

提示

如果报表更新速度不是所需的速度或实时更新速度,请查看自动页面刷新文档。 按照常见问题解答和疑难解答说明找出此问题发生的原因。

注意事项和限制

一般限制

  • 若要创建和运行流式数据流,需要 Power BI Premium 订阅(容量或 PPU)。
  • 每个工作区只允许一种类型的数据流。
  • 不可以链接常规和流式数据流。
  • 小于 A3 的容量不允许使用流式数据流。
  • 如果租户中未启用数据流或增强的计算引擎,你将无法创建或运行流式数据流。
  • 不支持连接到存储帐户的工作区。
  • 每个流式数据流可提供高达 1 MB/秒的吞吐量。

可用性

以下区域没有推出流式数据流的预览版:

  • 印度中部
  • 德国北部
  • 挪威东部
  • 挪威西部
  • 阿联酋中部
  • 南非北部
  • 南非西部
  • 瑞士北部
  • 瑞士西部
  • 巴西东南部

授权

每个租户允许的流式数据流量取决于所使用的许可证:

  • 对于常规容量,请使用以下公式来计算容量中允许的流式数据流的最大数量:

    每个容量的流式数据流最大数量 = vCore 中的容量 x 5

    例如,P1 有 8 个 vCore:8 * 5 = 40 个流式数据流。

  • 对于 Premium Per User,每个用户允许使用一个流式数据流。 如果其他用户要在 PPU 工作区中使用流式数据流,他们也需要 PPU 许可证。

数据流创作

创作流式数据流时,应注意以下事项:

  • 流式数据流的所有者只能进行修改,并且只能在数据流未运行的情况下进行修改。
  • 在“我的工作区”中,流式数据流不可用。

从 Power BI Desktop 中连接

只能使用从 2021 年 7 月 Power BI Desktop 更新开始提供的数据流连接器访问冷存储。 之前的 Power BI 数据流连接器仅允许连接到流数据(热)存储。 连接器数据预览不起作用。

本文概述了如何使用流式数据流准备自助式流数据。 以下文章介绍了如何在 Power BI 中测试此功能以及如何使用其他流数据功能: