语句

DDL语句

DML语句[insert into]

DML语句用来把数据从源头表输出到结果表,比如在一个作业中写入一个Sink或多个Sink

写入一个Sink
源表

  1. CREATE TABLE datagen_source (
  2. name VARCHAR,
  3. score BIGINT
  4. ) WITH (
  5. 'connector' = 'datagen'
  6. );

结果表

  1. create table blackhole_sink(
  2. name VARCHAR,
  3. score BIGINT
  4. ) WITH (
  5. 'connector' = 'blackhole'
  6. );

DML语句

  1. INSERT INTO blackhole_sink SELECT UPPER(name), score FROM datagen_source;

写入多个Sink
源表

  1. CREATE TABLE datagen_source (
  2. name VARCHAR,
  3. score BIGINT
  4. ) WITH (
  5. 'connector' = 'datagen'
  6. );

目标表

  1. --目标表一
  2. CREATE TABLE blackhole_sinkA(
  3. name VARCHAR,
  4. score BIGINT
  5. ) WITH (
  6. 'connector' = 'blackhole'
  7. );
  1. --目标表二
  2. CREATE TABLE blackhole_sinkB(
  3. name VARCHAR,
  4. score BIGINT
  5. ) WITH (
  6. 'connector' = 'blackhole'
  7. );

DML语句

  1. --固定写法:写入多个Sink语句时,需要以 BEGIN STATEMENT SET;开头,以 END;结尾。
  2. BEGIN STATEMENT SET; --写入多个Sink时,必填。
  3. INSERT INTO blackhole_sinkA
  4. SELECT UPPER(name), sum(score)
  5. FROM datagen_source
  6. GROUP BY UPPER(name);
  7. INSERT INTO blackhole_sinkB
  8. SELECT LOWER(name), max(score)
  9. FROM datagen_source
  10. GROUP BY LOWER(name);
  11. END; --写入多个Sink时,必填。

DQL语句

参考Flink v1.11以后的语句

创建数据视图

  1. /***
  2. * CREATE TEMPORARY VIEW viewName AS [ (columnName[ , columnName]* ) ] queryStatement;
  3. * viewName:视图名称。
  4. * columnName:字段名称。
  5. * queryStatement:嵌套语句别名。
  6. ***/
  1. CREATE TEMPORARY VIEW tmp_view AS
  2. SELECT
  3. *
  4. FROM
  5. datagen_source;
  6. INSERT INTO
  7. rds_output
  8. SELECT
  9. r,
  10. t,
  11. c,
  12. u
  13. FROM
  14. tmp_view;

函数

窗口函数

内置函数

自定义函数