流
所有数据都在流中
Timeplus是一个流式分析平台和数据流中的生命值。 Timeplus中的stream
类似传统数据库中的table
两者基本上都是数据集。 两者基本上都是数据集。 关键的区别是,Timeplus流是一个只附加的、未受欢迎的、不断变化的事件组。
创建一个流
在大多数情况下,您不需要在Timeplus中明确创建一个流。 当您 从 Kafka 或 file 源到 Timeplus 的 数据时,可以自动创建数据流以匹配数据模式。
查询流
默认情况下,查询流将持续扫描新事件和输出新结果。 除非用户取消查询,否则它永远不会结束。 例如, 您可以从 HTTP 500 错误获取最新的网页日志,或从 IoT 设备获取每分钟的最大/最大/平均公尺。 欲了解更多详情,请阅读 流查询。
如果您只想分析现有数据并需要立即响应, 您可以通过 表 函数运行 非流式查询。 这将在边界模式下转向查询,只扫描现有数据。 例如,您可以运行 从表(串流1)
中选择计数(*)以获取数据流中的行数。
删除流
您可以从网页控制台删除该流。 这将永久删除流中的所有数据并删除流本身。 删除后无法恢复数据。
外部流
您也可以在 Timeplus 中创建 个外部流 来查询外部系统中的数据,而不要将数据加载到 Timeplus 中。 这样做的主要好处是在外部系统(例如Kafka)中保持一个单一的真相来源,而不重复这些来源。 您可以以与其他流相似的方式运行流式分析,但有一些限制。
支持的外部系统
支助的外部系统有:
- 打开源Apache Kafka 或 Redpanda, 无身份验证。
- 云与 SASL 普通身份验证。
主题应包含纯文本或JSON格式的消息。
创建外部流
要创建外部流,请转到 STREAMS 页, 然后点击右侧的按钮,然后将其更改为 创建外部流。 设置流名称、Kafka 经纪人(s)和主题名称。 选择正确的身份验证方法,然后点击 创建。
查询外部流
要查询外部系统中的数据,请以类似的方式运行流式SQL,比如: SELECT count(*) FROM my_external_stream
你也可以根据外部流创建 视图 或 实际化视图
限制
基在Kafka的外部流有一些限制,因为TimePlus不控制外部流的储存或数据格式。
- 身份验证不是无,也不是SASL 平原。 还不支持 SASL Scram 256 或 512 。
- 使用 JSON 或 TEXT 格式的数据格式。 AVRO或schema注册服务尚不被支持。 整个消息将放入
个原始的
字符串列。 - 由于原始数据没有保存在Timeplus中,我们不能为每个事件在摄取时间附加事件时间或索引时间。 您可以在查询中指定表达式的事件时间,例如
tumble(ext_stream,to_time(raw:order_time),1m)
- 与正常流不同的是,外部流没有历史存储。 因此您不能运行
table(my_ext_stream)
或settings query_mode='table'
来查询历史数据。 为了查询在您创建外部流之前的数据, 您可以使用WHERE _tp_time >'2023-01-15'
来查询留在Kafka上的过去的数据。 - 在Timeplus中没有关于外部流的保留政策。 您需要在Kafka/Confluent/Redpanda配置保留政策。 如果外部系统不再提供数据,则不能在Timeplus搜索。