Compartilhar via


Cenários de tabela computada e casos de uso

Há benefícios em usar tabelas computadas em um fluxo de dados. Este artigo descreve casos de uso para tabelas computadas e descreve como elas funcionam nos bastidores.

O que é uma tabela computada?

Uma tabela representa a saída de dados de uma consulta criada em um fluxo de dados, após a atualização do fluxo de dados. Ele representa dados de uma fonte e, opcionalmente, as transformações que foram aplicadas a ela. Às vezes, talvez você queira criar novas tabelas que são uma função de uma tabela ingerida anteriormente.

Embora seja possível repetir as consultas que criaram uma tabela e aplicar novas transformações a elas, essa abordagem tem desvantagens: os dados são ingeridos duas vezes e a carga na fonte de dados é dobrada.

Tabelas computadas resolvem ambos os problemas. As tabelas computadas são semelhantes a outras tabelas, pois elas obtêm dados de uma fonte e você pode aplicar outras transformações para criá-las. Mas seus dados se originam do fluxo de dados de armazenamento usado e não da fonte de dados original. Ou seja, eles foram criados anteriormente por um fluxo de dados e reutilizados.

As tabelas computadas podem ser criadas referenciando uma tabela no mesmo fluxo de dados ou fazendo referência a uma tabela criada em um fluxo de dados diferente.

Captura de tela enfatizando uma tabela computada.

Por que usar uma tabela computada?

Executar todas as etapas de transformação em uma tabela pode ser lenta. Pode haver muitos motivos para essa desaceleração, a fonte de dados pode ser lenta ou as transformações que você está fazendo podem precisar ser replicadas em duas ou mais consultas. Pode ser vantajoso primeiro ingerir os dados da origem e reutilizá-los em uma ou mais tabelas. Nesses casos, você pode optar por criar duas tabelas: uma que obtém dados da fonte de dados e outra , uma tabela computada, que aplica mais transformações aos dados já gravados no data lake usado por um fluxo de dados. Essa alteração pode aumentar o desempenho e a reutilização de dados, economizando tempo e recursos.

Por exemplo, se duas tabelas compartilharem até mesmo uma parte de sua lógica de transformação, sem uma tabela computada, a transformação deverá ser feita duas vezes.

Imagem mostrando a transformação de dados ocorrendo duas vezes.

No entanto, se uma tabela computada for usada, a parte comum (compartilhada) da transformação será processada uma vez e armazenada no Azure Data Lake Storage. Em seguida, as transformações restantes são processadas a partir da saída da transformação comum. No geral, esse processamento é muito mais rápido.

Imagem mostrando transformações comuns feitas uma vez na tabela computada e armazenadas no data lake e as transformações exclusivas restantes ocorrendo posteriormente.

Uma tabela computada fornece um lugar como o código-fonte para a transformação e acelera a transformação porque ela só precisa ser feita uma vez em vez de várias vezes. A carga na fonte de dados também é reduzida.

Cenário de exemplo para usar uma tabela computada

Se você estiver criando uma tabela agregada no Power BI para acelerar o modelo de dados, poderá criar a tabela agregada fazendo referência à tabela original e aplicando mais transformações a ela. Usando essa abordagem, você não precisa replicar sua transformação da origem (a parte que é da tabela original).

Por exemplo, a figura a seguir mostra uma tabela Pedidos.

Captura de tela da tabela Pedidos.

Usando uma referência desta tabela, você pode criar uma tabela computada.

Criando uma tabela computada.

Captura de tela mostrando como criar uma tabela computada da tabela Pedidos. Primeiro, clique com o botão direito na tabela Pedidos no painel de Consultas e selecione a opção Referência no menu dropdown. Essa ação cria a tabela computada, que é renomeada aqui para Pedidos agregados.

A tabela computada pode ter outras transformações. Por exemplo, você pode usar Group By para agregar os dados no nível do cliente.

Captura de tela da tabela agregada dos Pedidos com a coluna do Cliente enfatizada.

Isso significa que a tabela Pedidos Agregados está recebendo dados da tabela Pedidos e não da fonte de dados novamente. Como algumas das transformações que precisam ser feitas já foram feitas na tabela Pedidos, o desempenho é melhor e a transformação de dados é mais rápida.

Tabela computada em outros fluxos de dados

Você também pode criar uma tabela computada em outros fluxos de dados. Ele pode ser criado obtendo dados de um fluxo de dados com o conector de fluxo de dados do Microsoft Power Platform.

Obtenha dados de fluxos de dados do Power Platform.

A imagem enfatiza o conector de fluxos de dados do Power Platform na janela Escolher fonte de dados do Power Query. Também está incluída uma descrição que indica que uma tabela de fluxo de dados pode ser criada sobre os dados de outra tabela de fluxo de dados, que já é mantida no armazenamento.

O conceito da tabela computada é ter uma tabela mantida no armazenamento e outras tabelas provenientes dela, para que você possa reduzir o tempo de leitura da fonte de dados e compartilhar algumas das transformações comuns. Essa redução pode ser obtida obtendo dados de outros fluxos de dados por meio do conector de fluxo de dados ou fazendo referência a outra consulta no mesmo fluxo de dados.

Tabela computada: com transformações ou sem?

Agora que você sabe que as tabelas computadas são ótimas para melhorar o desempenho da transformação de dados, uma boa pergunta a ser feita é se as transformações sempre devem ser adiadas para a tabela computada ou se devem ser aplicadas à tabela de origem. Ou seja, os dados devem ser sempre ingeridos em uma tabela e transformados em uma tabela computada? Quais são os prós e contras?

Carregar dados sem transformação para arquivos text/CSV

Quando uma fonte de dados não dá suporte à dobragem de consultas (como arquivos Text/CSV), há pouco benefício em aplicar transformações ao obter dados da fonte, especialmente se os volumes de dados forem grandes. A tabela de origem deve apenas carregar dados do arquivo Text/CSV sem aplicar nenhuma transformação. Em seguida, as tabelas computadas podem obter dados da tabela de origem e executar a transformação sobre os dados ingeridos.

Você pode perguntar, qual é o valor da criação de uma tabela de origem que ingere apenas dados? Essa tabela ainda pode ser útil, pois se os dados da fonte forem usados em mais de uma tabela, ela reduzirá a carga na fonte de dados. Além disso, os dados agora podem ser reutilizados por outras pessoas e fluxos de dados. Tabelas computadas são especialmente úteis em cenários em que o volume de dados é grande ou quando uma fonte de dados é acessada por meio de um gateway de dados local, pois reduzem o tráfego do gateway e a carga nas fontes de dados por trás delas.

Fazendo algumas das transformações comuns para uma tabela SQL

Se a fonte de dados suportar o dobramento de consulta, é vantajoso executar algumas das transformações na tabela de origem porque a consulta é dobrada para a fonte de dados, e somente os dados transformados são obtidos dela. Essas alterações melhoram o desempenho geral. O conjunto de transformações que são comuns em tabelas calculadas downstream deve ser aplicado na tabela de origem, para que possam ser integradas à origem. Outras transformações que se aplicam apenas a tabelas downstream devem ser feitas em tabelas computadas.