跳转至主要内容

所有数据都在流中

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不控制外部流的储存或数据格式。

  1. 身份验证不是无,也不是SASL 平原。 还不支持 SASL Scram 256 或 512 。
  2. 使用 JSON 或 TEXT 格式的数据格式。 AVRO或schema注册服务尚不被支持。 整个消息将放入 个原始的 字符串列。
  3. 由于原始数据没有保存在Timeplus中,我们不能为每个事件在摄取时间附加事件时间或索引时间。 您可以在查询中指定表达式的事件时间,例如 tumble(ext_stream,to_time(raw:order_time),1m)
  4. 与正常流不同的是,外部流没有历史存储。 因此您不能运行 table(my_ext_stream)settings query_mode='table' 来查询历史数据。 为了查询在您创建外部流之前的数据, 您可以使用 WHERE _tp_time >'2023-01-15' 来查询留在Kafka上的过去的数据。
  5. 在Timeplus中没有关于外部流的保留政策。 您需要在Kafka/Confluent/Redpanda配置保留政策。 如果外部系统不再提供数据,则不能在Timeplus搜索。