Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Existem benefícios em usar tabelas computadas num fluxo de dados. Este artigo descreve casos de uso para tabelas computadas e descreve como funcionam nos bastidores.
O que é uma tabela computada?
Uma tabela representa a saída de dados de uma consulta criada num fluxo de dados, depois de o fluxo de dados ter sido atualizado. Representa dados de uma fonte e, opcionalmente, as transformações que lhe foram aplicadas. Por vezes, pode querer criar novas tabelas que sejam uma função de uma tabela previamente ingerida.
Embora seja possível repetir as consultas que criaram uma tabela e aplicar novas transformações, esta abordagem tem desvantagens: os dados são ingeridos duas vezes e a carga sobre a fonte de dados é duplicada.
As tabelas computadas resolvem ambos os problemas. As tabelas computadas são semelhantes a outras tabelas no sentido em que obtêm dados de uma fonte e podes aplicar transformações adicionais para as criar. Mas os seus dados têm origem no fluxo de dados de armazenamento utilizado, e não na fonte original de dados. Ou seja, foram anteriormente criados por um fluxo de dados e depois reutilizados.
As tabelas computadas podem ser criadas referenciando uma tabela no mesmo fluxo de dados ou referenciando uma tabela criada num fluxo de dados diferente.
Porque usar uma tabela computada?
Realizar todos os passos de transformação numa tabela pode ser lento. Podem existir muitas razões para esta desaceleração — a fonte de dados pode ser lenta, ou as transformações que está a fazer podem precisar de ser replicadas em duas ou mais consultas. Pode ser vantajoso primeiro ingerir os dados da fonte e depois reutilizá-los numa ou mais tabelas. Nesses casos, 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 a dados já escritos no data lake usado por um fluxo de dados. Esta alteração pode aumentar o desempenho e a reutilização dos dados, poupando tempo e recursos.
Por exemplo, se duas tabelas partilham mesmo uma parte da sua lógica de transformação, sem uma tabela computada, a transformação tem de ser feita duas vezes.
No entanto, se for usada uma tabela computada, então a parte comum (partilhada) da transformação é processada uma vez e armazenada no Azure Data Lake Storage. As transformações restantes são então processadas a partir da saída da transformação comum. No geral, este processamento é muito mais rápido.
Uma tabela computada fornece um único local como código-fonte para a transformação e acelera a transformação porque só precisa de ser feita uma vez em vez de várias. A carga na fonte de dados também é reduzida.
Exemplo de cenário para usar uma tabela computada
Se estiveres a construir uma tabela agregada no Power BI para acelerar o modelo de dados, podes construir a tabela agregada referenciando a tabela original e aplicando-lhe mais transformações. Ao usar esta abordagem, não precisa de replicar a sua transformação a partir da fonte (a parte que é da tabela original).
Por exemplo, a figura seguinte mostra uma tabela de Encomendas.
Usando uma referência desta tabela, pode construir uma tabela computada.
Captura de ecrã que mostra como criar uma tabela computada a partir da tabela de Ordens. Primeiro, clique com o botão direito na tabela de Pedidos no painel de Consultas, selecione a opção Referência no menu suspenso. Esta ação cria a tabela computada, que aqui é renomeada para Ordens agregadas.
A tabela computada pode ter transformações adicionais. Por exemplo, pode usar o Group By para agregar os dados ao nível do cliente.
Isto significa que a tabela de Pedidos Agregados está a obter dados da tabela de Pedidos, e não novamente da fonte de dados. Como algumas das transformações que precisam de ser feitas já foram feitas na tabela de Ordens, o desempenho é melhor e a transformação de dados é mais rápida.
Tabela calculada noutros fluxos de dados
Também pode criar uma tabela computada noutros fluxos de dados. Pode ser criado obtendo dados de um fluxo de dados com o conector de fluxo de dados Microsoft Power Platform.
A imagem destaca o conector de fluxos de dados da Power Platform na janela de seleção da fonte de dados do Power Query. Inclui também uma descrição que afirma que uma tabela de fluxo de dados pode ser construída sobre os dados de outra tabela de fluxo de dados, que já está armazenada em armazenamento.
O conceito da tabela computada é ter uma tabela mantida no armazenamento, e outras tabelas provenientes dela, para que se possa reduzir o tempo de leitura da fonte de dados e partilhar algumas das transformações comuns. Esta redução pode ser alcançada ao obter dados de outros fluxos de dados através do conector de fluxo de dados ou referenciando outra consulta no mesmo fluxo de dados.
Tabela computada: Com transformações ou sem?
Agora que sabe que as tabelas computadas são ótimas para melhorar o desempenho da transformação de dados, uma boa questão a colocar é se as transformações devem sempre ser adiadas para a tabela computada ou se devem ser aplicadas à tabela de origem. Ou seja, os dados devem sempre ser ingeridos numa tabela e depois transformados numa tabela computada? Quais são os prós e contras?
Carregar dados sem transformação para ficheiros Text/CSV
Quando uma fonte de dados não suporta query folding (como ficheiros 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 simplesmente carregar dados do ficheiro Text/CSV sem aplicar quaisquer transformações. Depois, as tabelas computadas podem obter dados da tabela de origem e realizar a transformação sobre os dados ingeridos.
Poderás perguntar, qual é o valor de criar uma tabela de origem que apenas ingere dados? Tal tabela pode ainda ser útil, porque se os dados da fonte forem usados em mais do que uma tabela, reduz a carga sobre a fonte de dados. Além disso, os dados podem agora ser reutilizados por outras pessoas e por outros fluxos de dados. As tabelas computadas são especialmente úteis em cenários onde o volume de dados é grande, ou quando uma fonte de dados é acedida através de um gateway de dados local, porque reduzem o tráfego do gateway e a carga sobre as fontes de dados atrás delas.
Fazer algumas das transformações comuns para uma tabela SQL
Se a sua fonte de dados suportar query folding, é aconselhável realizar algumas das transformações na tabela de origem, porque a consulta é processada diretamente na fonte de dados, e apenas os dados transformados são recuperados a partir dela. Estas alterações melhoram o desempenho geral. O conjunto de transformações comum em tabelas computadas posteriores deve ser aplicado na tabela fonte, para que possam ser integradas na fonte. Outras transformações que só se aplicam a tabelas a jusante devem ser feitas em tabelas computadas.