すべてのプロダクト
Search
ドキュメントセンター

Realtime Compute for Apache Flink:GENERATE_SERIES

最終更新日:Jan 07, 2025

このトピックでは、GENERATE_SERIES関数を使用して、2つの数値の間で連続した整数の数列を生成する方法について説明します。

構文

GENERATE_SERIES(BIGINT from, BIGINT to)

入力パラメーター

パラメーター

備考

from

値の範囲の下限(包含)。データ型:BIGINT

to

値の範囲の上限(包含)。データ型:BIGINT

  • テストデータ

    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