O Microsoft Fabric é uma plataforma de software como serviço (SaaS) ponta a ponta para análise de dados. Ele é construído em torno de um data lake chamado OneLake e reúne componentes novos e existentes do Microsoft Power BI, Azure Synapse e Azure Data Factory em um único ambiente integrado.

O Microsoft Fabric abrange movimentação de dados, armazenamento de dados, engenharia de dados, integração de dados, ciência de dados, análise em tempo real e inteligência de negócios, juntamente com segurança, governança e conformidade de dados. De muitas maneiras, o Fabric é a resposta da Microsoft ao Google Cloud Dataplex. No momento em que este artigo foi escrito, o Fabric estava em versão prévia.

O Microsoft Fabric é direcionado a todos: administradores, desenvolvedores, engenheiros de dados, cientistas de dados, analistas de dados, analistas de negócios e gerentes. Atualmente, o Microsoft Fabric está habilitado por padrão para todos os locatários do Power BI.

O Microsoft Fabric Data Engineering combina o Apache Spark com o Data Factory, permitindo que notebooks e trabalhos do Spark sejam agendados e orquestrados. O Fabric Data Factory combina o Power Query com a escala e o poder do Azure Data Factory e oferece suporte a mais de 200 conectores de dados. O Fabric Data Science integra-se ao Azure Machine Learning, que permite o rastreamento de experimentos e o registro de modelos. O Fabric Real-Time Analytics inclui um fluxo de eventos, um banco de dados KQL (Kusto Query Language) e um conjunto de consultas KQL para executar consultas, visualizar resultados de consultas e personalizar resultados de consultas em dados. Se KQL é novo para você, seja bem-vindo ao clube.

Tela inicial do Microsoft Fabric. Observe os links para Power BI, Data Factory, Data Activator, Synapse Data Engineering, Synapse Data Science, Synapse Data Warehouse e Synapse Real-Time Analytics.

OneLake

OneLake é um data lake lógico e unificado para toda a sua organização; cada inquilino tem um e apenas um data lake. O OneLake foi projetado para ser o local único para todos os seus dados analíticos, da mesma forma que a Microsoft deseja que você use o OneDrive para todos os seus arquivos. Para simplificar o uso do OneLake em sua área de trabalho, você pode instalar o explorador de arquivos OneLake para Windows.

OneLake é baseado no Azure Data Lake Storage (ADLS) Gen2 e pode oferecer suporte qualquer tipo de arquivo. No entanto, todos os componentes de dados do Fabric, como data warehouses e data lakehouses, armazenam seus dados automaticamente no OneLake no formato Delta (baseado no Apache Parquet), que também é o formato de armazenamento usado pelo Azure Databricks. Não importa se os dados foram gerados pelo Spark ou SQL, eles ainda vão para um único data lake no formato Delta.

Criar um data lakehouse do OneLake é bastante simples: mude para a visualização Data Engineering, crie e nomeie um novo lakehouse e carregue alguns arquivos CSV para a parte do arquivo do data lake.

tecido microsoft 02

Na visualização de engenharia de dados do Microsoft Fabric, você pode ver seus arquivos e tabelas. As tabelas estão no formato Delta Parquet. Ao selecionar um arquivo, você obtém um menu de três pontos para realizar operações nesse arquivo, por exemplo, carregá-lo em uma tabela.

Passar de lá para ter mesas na casa do lago pode (atualmente) ser mais trabalhoso do que você imagina. Você poderia pensar que o item de menu pop-up Carregar em tabelas daria conta do recado, mas falhou em meus testes iniciais. Acabei descobrindo, com a ajuda do Suporte da Microsoft, que a função Load to Tables (no momento em que este livro foi escrito) não sabe como lidar com títulos de colunas com espaços incorporados. Ai. Todas as lakehouses concorrentes lidam com isso sem problemas, mas Fabric é ainda em pré-visualização. Tenho certeza de que esse recurso será adicionado ao produto lançado.

Consegui que essa conversão funcionasse com arquivos CSV limpos. Também consegui executar uma consulta Spark SQL em um notebook em uma nova tabela.

tecido microsoft 03

Os notebooks Fabric suportam Python e SQL. Aqui estamos usando Spark SQL para exibir o conteúdo de uma tabela OneLake lakehouse.

O Spark não é a única maneira de executar consultas SQL nas tabelas lakehouse. Você pode acessar qualquer tabela no formato Delta no OneLake por meio de um endpoint SQL, que é criado automaticamente quando você implanta o lakehouse. Um endpoint SQL faz referência à mesma cópia física da tabela Delta no OneLake e oferece uma experiência T-SQL. Basicamente, está usando o Azure SQL em vez do Spark SQL.

Como você verá mais tarde, o OneLake pode hospedar data warehouses Synapse, bem como lakehouses. Os data warehouses são melhores para usuários com habilidades em T-SQL, embora os usuários do Spark também possam ler dados em warehouses. Você pode criar atalhos no OneLake para que lakehouses e data warehouses possam acessar tabelas sem duplicar dados.

Power BI

O Power BI foi expandido para poder funcionar com tabelas OneLake lakehouse (Delta). Como sempre, o Power BI pode realizar análises básicas de dados de business intelligence e geração de relatórios, além de integrar-se ao Microsoft 365.

tecido microsoft 05

Um relatório do Power BI no Microsoft Fabric. Praticamente todos os recursos importantes do Power BI foram transferidos para o Fabric.

Fábrica de dados

O Data Factory no Microsoft Fabric combina integração de dados de cidadãos e recursos de integração de dados profissionais. Ele se conecta a cerca de 100 bancos de dados relacionais e não relacionais, lakehouses, data warehouses e interfaces genéricas. Você pode importar dados com fluxos de dados, que permitem transformações de dados em grande escala com cerca de 300 transformações, usar o editor do Power Query e aplicar a extração de dados por exemplo do Power Query.

Tentei um fluxo de dados que importou e transformou duas tabelas do conjunto de dados Northwind. Fiquei impressionado com os recursos até que a etapa final de publicação falhou. OK, está em pré-visualização.

Você também pode usar pipelines de dados para criar fluxos de trabalho de orquestração de dados que reúnam tarefas como extração de dados, carregamento em armazenamentos de dados preferenciais, execução de notebook e execução de script SQL. Importei com sucesso dois conjuntos de dados de amostra, feriados e viagens de táxi em Nova York, e os salvei em data lakes. Não testei a capacidade de atualizar o pipeline periodicamente.

Se precisar carregar dados locais no OneLake, você poderá criar um gateway de dados local e conectá-lo a um fluxo de dados. Como solução temporária, você pode copiar seus dados locais para a nuvem e carregá-los de lá.

Ativador de dados

De acordo com a Microsoft, o Data Activator é uma experiência sem código no Microsoft Fabric para executar ações automaticamente quando padrões ou condições são detectados na alteração de dados. Ele monitora dados em relatórios do Power BI e itens do Eventstreams, para quando os dados atingem determinados limites ou correspondem a outros padrões. Em seguida, ele executa automaticamente as ações apropriadas, como alertar os usuários ou iniciar fluxos de trabalho do Power Automate.

Os casos de uso típicos do Data Activator incluem veicular anúncios quando as vendas nas mesmas lojas diminuem, alertar os gerentes de loja para retirar alimentos dos freezers dos supermercados com defeito antes que estraguem e alertar as equipes de conta quando os clientes atrasam, com prazos personalizados ou limites de valor por cliente.

Engenharia de Dados

A maior parte do que discuti na seção OneLake acima, na verdade, se enquadra na engenharia de dados. A engenharia de dados no Microsoft Fabric inclui lakehouse, definições de trabalho do Apache Spark, notebooks (em Python, R, Scala e SQL) e pipelines de dados (discutidos na seção Data Factory acima).

Ciência de Dados

A Ciência de Dados no Microsoft Fabric inclui modelos de aprendizado de máquina, experimentos e notebooks. Tem cerca de meia dúzia de cadernos de amostra. Optei por executar a amostra do modelo de previsão de série temporal, que usa Python, a biblioteca Prophet (do Facebook), MLflow e o recurso Fabric Autologging. A amostra de previsão de série temporal usa o conjunto de dados de vendas de propriedades de Nova York, que você baixa e carrega em um data lakehouse.

O Prophet usa um modelo de sazonalidade tradicional para previsão de séries temporais, um afastamento refrescante da tendência de aprendizado de máquina cada vez mais complicado e modelos de aprendizado profundo. O tempo total de execução para ajustes e previsões foi de 147 segundos, não exatamente três minutos.

tecido microsoft 06

Previsão de vendas de propriedades após ajustar os dados de vendas de propriedades em Nova York a um modelo de sazonalidade do Profeta.

Armazém de dados

O Data Warehouse no Microsoft Fabric visa convergir os mundos dos data lakes e data warehouses. Não é o mesmo que o SQL Endpoint do lakehouse: O SQL Endpoint é um somente leitura warehouse que é gerado automaticamente na criação de um lakehouse no Microsoft Fabric, enquanto o Data Warehouse é um data warehouse “tradicional”, o que significa que oferece suporte a todos os recursos transacionais do T-SQL, como qualquer data warehouse corporativo.

Ao contrário do SQL Endpoint, onde tabelas e dados são criados automaticamente, o Data Warehouse coloca você no controle total da criação de tabelas e do carregamento, transformação e consulta de seus dados no data warehouse usando o portal Microsoft Fabric ou comandos T-SQL.

Criei um novo warehouse e carreguei-o com dados de amostra fornecidos pela Microsoft. Esse é outro conjunto de dados de viagens de táxi (de um ano diferente), mas desta vez levado em consideração nas tabelas do armazém. A Microsoft também fornece alguns exemplos de scripts SQL.

tecido microsoft 07

Visualização de dados do Fabric Data Warehouse para uma tabela. Observe as mensagens sobre o conjunto de dados do Power BI criado automaticamente na parte superior.

tecido microsoft 08

Visualização do modelo do Fabric Data Warehouse.

tecido microsoft 09

Visualização de consulta do Fabric Data Warehouse. A Microsoft forneceu o script SQL como parte do exemplo.

Análise em tempo real

A Análise em Tempo Real no Microsoft Fabric está intimamente relacionada ao Azure Data Explorer, tão intimamente que os links de documentação para Análise em Tempo Real vão atualmente para a documentação do Azure Data Explorer. Foi-me garantido que a documentação real do Fabric está sendo atualizada.

O Real-Time Analytics e o Azure Data Explorer usam bancos de dados e consultas Kusto Query Language (KQL). A consulta de dados no Kusto é muito mais rápida do que o RDBMS transacional, como o SQL Server, especialmente quando o tamanho dos dados cresce para bilhões de linhas. Kusto recebeu o nome de Jacques Cousteau, o explorador submarino francês.

Usei um exemplo da Microsoft, análise meteorológica, para explorar KQL e análise em tempo real. Esse exemplo inclui um script com diversas consultas KQL.

tecido microsoft 10

A galeria de exemplos do Fabric Real-Time Analytics oferece atualmente meia dúzia de exemplos, com tamanhos de dados que variam de 60 MB para análises meteorológicas a quase 1 GB para corridas de táxi em Nova York.

A consulta KQL da captura de tela abaixo é interessante porque usa funções geoespaciais e renderiza um gráfico de dispersão.

//We can perform Geospatial analytics with powerful inbuilt functions in KQL
//Plot storm events that happened along the south coast
let southCoast = dynamic({"type":"LineString","coordinates":((-97.18505859374999,25.997549919572112),(-97.58056640625,26.96124577052697),(-97.119140625,27.955591004642553),(-94.04296874999999,29.726222319395504),(-92.98828125,29.82158272057499),(-89.18701171875,29.11377539511439),(-89.384765625,30.315987718557867),(-87.5830078125,30.221101852485987),(-86.484375,30.4297295750316),(-85.1220703125,29.6880527498568),(-84.00146484374999,30.14512718337613),(-82.6611328125,28.806173508854776),(-82.81494140625,28.033197847676377),(-82.177734375,26.52956523826758),(-80.9912109375,25.20494115356912))});
StormEvents
| project BeginLon, BeginLat, EventType
| where geo_distance_point_to_line(BeginLon, BeginLat, southCoast) < 5000
| render scatterchart with (kind=map)
//Observation: Because these areas are near the coast, most of the events are Marine Thunderstorm Winds
tecido microsoft 11

Apesar de ter 60 MB de dados, esta consulta KQL geoespacial foi executada em um terço de segundo.

Amplo escopo e análises profundas

Embora tenha descoberto vários bugs ao explorar a visualização do Microsoft Fabric, também tive uma boa ideia de seu amplo escopo e recursos analíticos profundos. Quando estiver totalmente reformulado e desenvolvido, poderá muito bem competir com o Google Cloud Dataplex.

O Microsoft Fabric é realmente apropriado para todos? Eu não faço ideia. Mas eu pode digamos que o Fabric faz um bom trabalho ao permitir que você visualize apenas sua área de interesse atual com o seletor de visualização no canto inferior esquerdo da interface, o que me lembra a maneira como o Adobe Photoshop atende seus diversos públicos (fotógrafos, retocadores, artistas e assim por diante). sobre). Infelizmente, o Photoshop tem a merecida reputação de não apenas ter muito poder, mas também de ser difícil de aprender. Ainda não se sabe se a Fabric desenvolverá uma reputação semelhante.