全部产品
Search
文档中心

实时计算Flink版:GENERATE_SERIES

更新时间:May 23, 2023

本文为您介绍如何使用GENERATE_SERIES函数,按from、from+1、from+2 … to-1的规则,生成一系列填充数据。

使用限制

仅实时计算引擎VVR 3.0.0及以上版本支持GENERATE_SERIES函数。

语法

GENERATE_SERIES(BIGINT from, BIGINT to)

入参

参数

数据类型

from

BIGINT类型,指定下界,包含下界值。

to

BIGINT类型,指定上界,不包含上界值。

示例

  • 测试数据

    表 1. T1

    s(BIGINT NOT NULL)

    e(BIGINT NOT NULL)

    1

    3

    -2

    1

  • 测试语句

    CREATE TEMPORARY TABLE input_table(
      s BIGINT NOT NULL, 
      e BIGINT NOT NULL
    ) WITH (
      'connector' = 'datagen'
    );
    
    CREATE TEMPORARY TABLE output_table(
      s BIGINT NOT NULL, 
      e BIGINT NOT NULL, 
      v BIGINT NOT NULL
    ) WITH (
      'connector' = 'print'
    );
    
    insert into output_table
    SELECT s, e, v FROM input_table, lateral table(GENERATE_SERIES(s, e))
    as t(v);
  • 测试结果

    s(BIGINT)

    e(BIGINT)

    v(BIGINT)

    1

    3

    1

    1

    3

    2

    1

    3

    3

    -2

    1

    -2

    -2

    1

    -1

    -2

    1

    0

    -2

    1

    1