Skip to content

表是保留较为大量的状态的方法,NeuronEX 目前支持扫描表(Scan Table)查询表(Lookup Table)两种类型的表。这两种类型的表都适用于流式批量综合计算。

  • 扫描表(Scan Table)

    扫描表在内存中保存状态数据。它适用于较小的数据集,表的内容不需要在规则之间共享。扫描表像一个由事件驱动的流一样,一个一个地加载数据事件。大部分数据源即可以配置为,也可以配置为扫描表

  • 查询表(Lookup Table)

    查询表绑定外部数据(比如 SQL 数据库中的数据)并在需要时查询引用外部数据。它适用于更大的数据集,并且在规则之间共享表的内容。

提示

如采用流数据源,任何新数据都会附加到当前流中进行处理。表 (Table) 用于表示流的当前状态。它可以被认为是流的快照。用户可以使用表来保留一批数据进行处理。

表数据源

名称描述扫描表查询表
Neuron从 NeuronEX 数采模块读取数据
MQTT从 MQTT 主题读取数据
HTTP pull从 HTTP 服务器中拉取数据
HTTP push通过 HTTP 客户端推送数据到 NeuronEX
内存从 NeuronEX 内存主题读取数据以形成规则流水线
SQL从数据库中查询数据
文件从文件中读取数据
Video从视频流中查询数据
Simulator生成模拟数据供测试
Redis从 Redis 读取数据

创建表

在 NeuronEX 页面,点击数据处理 -> 源管理,在扫描表/查询表页签,点击创建扫描表/创建查询表按钮即可进行表的创建。

tables

表的数据类型与属性与流一致,具体看可参考流管理页面。

因此,表也支持所有源类型。许多源不是批处理的,它们在任何给定时间点都有一个事件,这意味着表将始终只有一个事件。

在创建扫描表时,可通过保留大小RETAIN_SIZE) 来指定表快照的大小,用于存储历史数据。

在创建查询表时,可以设置表的主键。例如,对于 SQL 源,用于指定 SQL 表中的主键。

应用场景

表是保留较为大量的状态的方法。扫描表将状态保存在内存中,而查找表将它们保存在外部,并可能是持久化的。扫描表更容易设置,而查找表可以很容易地连接到存在的持久化的状态。这两种类型都适用于流式批量综合计算。

请查看以下链接,了解一些典型场景。