Topik ini menjelaskan cara menggunakan pernyataan INSERT INTO untuk menulis ke satu atau beberapa sink dalam suatu pekerjaan.
Informasi latar belakang
Pernyataan INSERT mendukung SQL hint dengan kata kunci OPTIONS untuk pass parameter ke tabel sink. Untuk informasi selengkapnya, lihat SQL Hints.
Contoh penulisan ke satu sink
-- Buat tabel sumber.
CREATE TEMPORARY TABLE datagen_source (
name VARCHAR,
score BIGINT
) WITH (
'connector' = 'datagen'
);
-- Buat tabel sink.
CREATE TEMPORARY TABLE blackhole_sink(
name VARCHAR,
score BIGINT
) WITH (
'connector' = 'blackhole'
);
-- Pernyataan DML
INSERT INTO blackhole_sink SELECT UPPER(name), score FROM datagen_source;Contoh penulisan ke multiple sink
Penting
Pernyataan yang menulis ke multiple sink harus diawali dengan BEGIN STATEMENT SET; dan diakhiri dengan END;.
Contoh ini menulis data ke dua sink.
-- Buat tabel sumber.
CREATE TEMPORARY TABLE datagen_source (
name VARCHAR,
score BIGINT
) WITH (
'connector' = 'datagen'
);
-- Buat tabel sink A.
CREATE TEMPORARY TABLE blackhole_sinkA(
name VARCHAR,
score BIGINT
) WITH (
'connector' = 'blackhole'
);
-- Buat tabel sink B.
CREATE TEMPORARY TABLE blackhole_sinkB(
name VARCHAR,
score BIGINT
) WITH (
'connector' = 'blackhole'
);
-- Pernyataan DML
BEGIN STATEMENT SET; -- Diperlukan untuk menulis ke multiple 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; -- Diperlukan untuk menulis ke multiple sink.