创建流 - Amazon Kinesis Data Analytics

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建流

CREATE STREAM 语句创建一个(本地)流。流的名称必须与同一 schema 中任何其他流的名称不同。最好包含流的描述。

与表一样,流也有列,您可以在 CREATE STREAM 语句中为这些列指定数据类型。它们应映射到您为其创建流的数据源。对于 column_name,任何有效的非保留 SQL 名称都可用。列值不能为空。

  • 指定 OR REPLACE 会重新创建已存在的流,从而允许对现有对象进行定义更改,无需先使用 DRP 命令即可隐式删除该流。在已经有数据在传输中的直播上使用 CREATE OR REPLACE 会终止直播并丢失所有历史记录。

  • 只有在指定了 OR REPLACE 时才能指定重命名。

  • 有关 type_specification(例如 TIMESTAMP、INTEGER 或 varchar (2))中类型和值的完整列表,请参阅《Amazon Kinesis Data Analytics SQL 参考指南》中的 “Amazon Kinesis Data Analytics 数据类型” 主题。

  • 对于 option_value,可以使用任何字符串。

未解析日志数据的简单数据流

CREATE OR REPLACE STREAM logStream (    source  VARCHAR(20),    message VARCHAR(3072)) DESCRIPTION 'Head of webwatcher stream processing';

从智能出行系统管道传输捕获传感器数据

CREATE OR REPLACE STREAM "LaneData" (    -- ROWTIME is time at which sensor data collected    LDS_ID  INTEGER,        -- loop-detector ID    LNAME   VARCHAR(12),    LNUM    VARCHAR(4),    OCC     SMALLINT,    VOL     SMALLINT,    SPEED   DECIMAL(4,2) ) DESCRIPTION 'Conditioned LaneData for analysis queries';

从电子商务管道中直播捕获订单数据

CREATE OR REPLACE STREAM "OrderData" (    "key_order"    BIGINT NOT NULL,    "key_user"     BIGINT,    "country"      SMALLINT,    "key_product"  INTEGER,    "quantity"     SMALLINT,    "eur"          DECIMAL(19,5),    "usd"          DECIMAL(19,5) ) DESCRIPTION 'conditioned order data, ready for analysis';