流管理

Kuiper 流命令行工具可用于管理流,例如创建、描述、显示和删除流定义。

创建流

该命令用于创建流。有关流定义的更多详细信息,请参考

  1. create stream $stream_name '$stream_def' | create stream -f $stream_def_file
  • 在命令行中指定流定义。

示例:

  1. # bin/kuiper create stream my_stream '(id bigint, name string, score float) WITH ( datasource = "topic/temperature", FORMAT = "json", KEY = "id")'
  2. stream my_stream created

该命令创建一个名为 my_stream 的流。

  • 在文件中指定流定义。 如果流很复杂,或者流已经通过明确的格式写在文本文件中,则只需通过 -f 选项规定流定义。

示例:

  1. # bin/kuiper create stream -f /tmp/my_stream.txt
  2. stream my_stream created

以下是my_stream.txt的内容。

  1. my_stream(id bigint, name string, score float)
  2. WITH ( datasource = "topic/temperature", FORMAT = "json", KEY = "id");

显示流

该命令用于显示服务器中定义的所有流。

  1. show streams

示例:

  1. # bin/kuiper show streams
  2. my_stream

描述流

该命令用于打印流的详细定义。

  1. describe stream $stream_name

示例:

  1. # bin/kuiper describe stream my_stream
  2. Fields
  3. --------------------------------------------------------------------------------
  4. id bigint
  5. name string
  6. score float
  7. FORMAT: json
  8. KEY: id
  9. DATASOURCE: topic/temperature

删除流

该命令用于删除流定义。

  1. drop stream $stream_name

示例:

  1. # bin/kuiper drop stream my_stream
  2. stream my_stream dropped

查询流

该命令用于从流中查询数据。

  1. query

示例:

  1. # bin/kuiper query
  2. kuiper >

键入 query 子命令后,它会提示 kuiper>,然后在命令提示符中键入 SQLs (有关如何使用Kuiper SQL的信息,请参阅 Kuiper SQL 参考 ),然后按回车。

结果将在控制台中打印。

  1. kuiper > SELECT * FROM my_stream WHERE id > 10;
  2. [{"...":"..." ....}]
  3. ...
  • 输入 CTRL + C 停止查询;
  • 如果没有键入任何 SQL,则可以键入 quitexit 退出 kuiper 提示控制台。