全部产品
Search
文档中心

Realtime Compute for Apache Flink:INSERT INTO

更新时间:Jun 19, 2025

Topik ini menjelaskan penggunaan pernyataan INSERT INTO untuk menulis data ke satu atau lebih sink dalam suatu penyebaran.

Informasi latar belakang

Pernyataan INSERT memungkinkan Anda menggunakan petunjuk OPTIONS untuk melewati parameter ke tabel hasil. Untuk informasi lebih lanjut, lihat Petunjuk SQL.

Contoh cara menulis data ke sink

-- Membuat tabel sumber.
CREATE TEMPORARY TABLE datagen_source (
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'datagen' 
);

-- Membuat tabel hasil.
CREATE TEMPORARY TABLE blackhole_sink(
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'blackhole' 
);

--DML
INSERT INTO blackhole_sink SELECT UPPER(name), score FROM datagen_source;

Contoh cara menulis data ke beberapa sink

null

Pernyataan yang menulis data ke beberapa sink harus dimulai dengan BEGIN STATEMENT SET; dan diakhiri dengan END;.

Dalam contoh ini, data ditulis ke dua sink.

-- Membuat tabel sumber.
CREATE TEMPORARY TABLE datagen_source (
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'datagen'
);

-- Membuat Tabel Hasil A.
CREATE TEMPORARY TABLE blackhole_sinkA(
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'blackhole' 
);

-- Membuat Tabel Hasil B.
CREATE TEMPORARY TABLE blackhole_sinkB(
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'blackhole' 
);

--DML
BEGIN STATEMENT SET;      -- Ini diperlukan saat Anda menulis data ke beberapa sink. 
INSERT INTO blackhole_sinkA 
  SELECT UPPER(name), sum(score) 
  FROM datagen_source 
  GROUP BY UPPER(name);
INSERT INTO blackhole_sinkB 
  SELECT LOWER(name), max(score) 
  FROM datagen_source 
  GROUP BY LOWER(name);
END;      -- Ini diperlukan saat Anda menulis data ke beberapa sink.