Todos os produtos
Search
Central de documentação

Realtime Compute for Apache Flink:Criar uma visualização de dados

Última atualização: Jun 27, 2026

Quando a lógica de negócio exige instruções aninhadas em múltiplas camadas dentro de uma instrução DML, identificar problemas torna-se difícil e a leitura do código fica comprometida. Uma visualização de dados permite encapsular uma instrução aninhada como uma unidade nomeada e reutilizável, mantendo as instruções DML concisas e mais fáceis de depurar.

Uma visualização de dados é uma tabela lógica que descreve a lógica de computação. Ela não armazena dados físicos.

Visualizações versus tabelas

Visualizações e tabelas podem ser referenciadas em consultas SQL, mas apresentam comportamentos distintos:

Dimensão

Visualização

Tabela

Suporte a escrita

Somente leitura. Não pode atuar como sink em instruções INSERT INTO.

Permite leitura e escrita.

Armazenamento físico

Inexistente. O sistema computa os dados dinamicamente a cada referência.

Persiste os dados.

Sobrecarga de armazenamento

Armazena apenas a expressão da consulta, não os dados retornados.

Armazena o conjunto completo de dados.

Sintaxe

CREATE TEMPORARY VIEW viewName
  [( columnName [, columnName]* )]
  AS queryStatement;

Parâmetro

Descrição

viewName

Nome da visualização.

columnName

Nome de um campo na visualização. Opcional.

queryStatement

Instrução aninhada que define a visualização.

TEMPORARY: A visualização existe apenas durante a sessão e substitui qualquer visualização persistente com o mesmo nome.

Exemplo

O exemplo a seguir encapsula uma consulta a uma tabela source em uma visualização de dados. Em seguida, uma instrução DML lê diretamente da visualização, evitando a consulta direta à tabela source.

-- Create a source table using the DataGen connector.
CREATE TEMPORARY TABLE datagen_source (
  name    VARCHAR,
  score   BIGINT
) WITH (
  'connector'      = 'datagen',
  'number-of-rows' = '10'
);

-- Create a result table using the BlackHole connector.
CREATE TEMPORARY TABLE rds_output (
  name  VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'blackhole'
);

-- Define a data view over the source table.
-- Encapsulate the selection logic here to keep the DML statement simple.
CREATE TEMPORARY VIEW tmp_view AS
SELECT *
FROM datagen_source;

-- Read from the view instead of the source table directly.
INSERT INTO rds_output
SELECT name, score
FROM tmp_view;

Próximos passos

  • DROP VIEW

  • CREATE TEMPORARY TABLE

  • INSERT INTO