Escolar Documentos
Profissional Documentos
Cultura Documentos
o Microsoft Azure
Segunda Edição
Prefácio i
Power BI .................................................................................................................. 68
Funcionalidades e vantagens ...................................................................................... 69
O Power BI e o Azure Synapse Analytics ............................................................. 70
Funcionalidades e vantagens ...................................................................................... 71
Guia de início rápido (Modelação e visualização de dados) .................................... 72
Machine learning no Azure ................................................................................... 89
ML.NET ........................................................................................................................... 91
Machine learning automatizado ................................................................................ 91
Serviços cognitivos ....................................................................................................... 92
Bot Framework .............................................................................................................. 92
Funcionalidades e benefícios do Azure Machine Learning ..................................... 93
Software Development Kit (SDK) ................................................................................ 94
Estruturador .................................................................................................................. 94
AutoML ........................................................................................................................... 94
Objetivos de implementação flexíveis ....................................................................... 94
Accelerated Machine Learning Operations (MLOps) ................................................ 94
Azure Machine Learning e Azure Synapse Analytics ......................................... 96
Guia de início rápido (Azure Machine Learning) ....................................................... 96
Pré-requisitos ................................................................................................................ 96
Criar um modelo de machine learning utilizando o Estruturador ......................... 99
Resumo ................................................................................................................. 103
Capítulo 4: Casos de utilização de negócios 105
Acerca do revisor
Aaditya Pokkunuri é um engenheiro sénior de bases de dados com um historial de
experiência de 11 anos no setor das tecnologias e serviços de informação. As suas
competências incluem ajuste do desempenho, administração de servidores MS SQL
Database, SSIS, SSRS, Power BI e desenvolvimento de SQL.
Possui sólidos conhecimentos sobre replicação, clustering, opções de alta disponibilidade
do SQL Server e processos ITIL, bem como conhecimentos especializados em tarefas de
administração do Windows, Active Directory e tecnologias do Microsoft Azure.
Também possui experiência na Cloud do AWS e é um AWS Solution Architect Associate.
Aaditya é um profissional especializado em tecnologias da informação e possui uma
Licenciatura em Tecnologia centrada em informática e engenharia da Universidade
de Sastra, Tamil Nadu.
Objetivos da aprendizagem
• Explorar os conceitos de data warehouses e pipelines de dados modernos
• Descobrir considerações de design únicas ao aplicar uma solução de análise na cloud
• Conceber um pipeline de análise de ponta a ponta na cloud
• Distinguir entre dados estruturados, semiestruturados e não estruturados
• Selecionar um serviço baseado na cloud para as suas soluções de análise de dados
• Usar os serviços Azure para ingerir, armazenar e analisar dados de qualquer escala
iv | Prefácio
Audiência
Este livro foi concebido para engenheiros de software, programadores, consultores de
cloud e qualquer pessoa que esteja interessada em aprender o processo de extração de
insights de negócios de big data através do Azure.
Embora não seja necessário, para tirar o máximo partido do livro é útil ter noções
básicas de conceitos de análise de dados tais como o streaming de dados, tipos de
dados, o ciclo de vida do machine learning e os contentores Docker.
Abordagem
A Análise na Cloud com o Microsoft Azure introduz conceitos complexos com exemplos
do mundo real para que obtenha experiência prática e, ao mesmo tempo, compreenda
os fundamentos. O livro contém inúmeros guias de início rápido que permitem
aprender com maior rapidez.
Convenções
As palavras de código no texto, os nomes de bases de dados, os nomes de pastas, os
nomes de ficheiros e as extensões de ficheiros são apresentados da forma seguinte.
O seguinte fragmento de código utiliza o serviço associado à Azure SQL Database para
criar um conjunto de dados que faz referência a sales_table na SQL Database da Coolies:
{
"name": "CooliesSalesDataset",
"properties":
{
"type": "AzureSqlTable",
"linkedServiceName": {
"referenceName": "CooliesSalesAzureSqlDbLS",
"type": "LinkedServiceReference"
},
"schema": [ {optional} ],
"typeProperties": {
"tableName": "sales_table"
}
}
}
Instalação e configuração
Pode instalar o Power BI Desktop (https://packt.live/37hUTmK) e começar a criar
relatórios interativos.
Introdução à análise
1
de dados no Azure
De acordo com um inquérito realizado pela Dresner Advisory Services em 2019, um
máximo histórico de 48% das organizações diz que a business intelligence na cloud
é essencial ou muito importante para o desempenho das suas operações comerciais.
O estudo de mercado Cloud Computing and Business Intelligence também demonstrou
que as equipas de vendas e marketing tiram o máximo partido da análise.
À medida que as empresas crescem, geram enormes quantidades de dados todos os
dias. Estes dados são provenientes de diferentes origens, como telemóveis, sensores
de Internet of Things (IoT) e diversos produtos Software as a Service (SaaS), como
os sistemas de Gestão das Relações com os Clientes (CRM). As empresas e os negócios
precisam de dimensionar e modernizar a sua arquitetura e infraestrutura de dados,
para responderem à exigência de se manterem competitivos nos respetivos setores.
2 | Introdução à análise de dados no Azure
Também irá saber por que motivo o Microsoft Azure é a plataforma de eleição para
efetuar análises na cloud. Por último, irá estudar os conceitos fundamentais de data
warehouses e pipelines de dados modernos.
O poder dos dados | 3
Nota
Pode ler mais informações sobre dados abertos aqui.
4 | Introdução à análise de dados no Azure
• Prevenção de fraudes: este é um dos casos de utilização de big data mais comuns.
Uma das principais funcionalidades da análise de big data quando é utilizada para
a prevenção de fraudes é a capacidade de detetar anomalias num conjunto de
dados. A validação das transações com cartões de crédito através da perceção dos
padrões de transação, tais como os dados de localização e as categorias dos artigos
adquiridos, é um exemplo disso. Neste caso, o maior desafio é assegurar que os
modelos de IA/ML estão limpos e sem distorções. Pode existir uma possibilidade
de o modelo ter sido treinado apenas para um parâmetro específico, como o país
de origem de um utilizador, pelo que o modelo irá centrar-se na determinação de
padrões apenas na localização do utilizador e poderá perder outros parâmetros.
• Otimização de preços: a utilização da análise de big data pode prever quais são
os pontos de preço que atingirão os melhores resultados com base em dados
históricos do mercado. Deste modo, as empresas asseguram que não têm preços
demasiado altos ou baixos. O desafio neste caso é que muitos fatores podem
afetar os preços. Ao centrar-se apenas num fator específico, como o preço de
um concorrente, pode acabar por levar o seu modelo a cingir-se apenas a essa
área, negligenciando outros fatores como os dados de meteorologia e tráfego.
Os big data para negócios e empresas são geralmente acompanhados pelo conceito de
possuir uma infraestrutura IoT, onde centenas, milhares ou até milhões de dispositivos
estão ligados a uma rede que envia dados constantemente para um servidor.
Machine learning
À medida que os seus dados crescem em tamanho, geram muitas oportunidades para
as empresas transcenderem a compreensão das tendências e dos padrões de negócio.
O machine learning e a inteligência artificial são exemplos de inovações que é possível
explorar com os seus dados. Agora, criar as suas capacidades de inteligência artificial
e ML é relativamente fácil devido à disponibilidade das tecnologias necessárias
e à possibilidade de dimensionar o armazenamento e a computação na cloud.
Machine learning e inteligência artificial são termos que muitas vezes são confundidos.
Em resumo, o machine learning é um subconjunto (ou uma aplicação) da inteligência
artificial. O objetivo do machine learning é permitir que os sistemas aprendam a partir
dos conjuntos de dados passados e se adaptem automaticamente sem assistência
humana, o que se torna possível graças à aplicação de uma série de algoritmos ao
conjunto de dados: o algoritmo analisa os dados quase em tempo real e, em seguida,
apresenta as possíveis ações com base na precisão ou confiança obtida a partir das
experiências anteriores.
A palavra “aprendizagem” indica que o programa está constantemente a aprender com
dados que lhe são alimentados. O machine learning procura esforçar-se pela precisão
e não pelo sucesso. Existem três categorias principais de algoritmos de machine
learning: supervisionados, não supervisionados e de reforço.
Os algoritmos de machine learning supervisionados criam uma função de mapeamento
para mapear variáveis de entrada com uma variável de saída. O algoritmo utiliza os
conjuntos de dados existentes como treino para prever o resultado. A classificação
é uma forma de ML supervisionado que pode ser utilizada em aplicações como
a categorização de imagens ou a segmentação dos clientes, que é utilizada para
campanhas de marketing direcionadas.
Por outro lado, o machine learning não supervisionado é quando se deixa um
programa encontrar o seu próprio padrão sem quaisquer etiquetas. Um bom exemplo
é compreender os padrões de compra dos clientes na aquisição de produtos. Obtém
os agrupamentos inerentes (clustering) consoante os comportamentos de compra
e o programa pode associar clientes e produtos de acordo com os padrões de compra.
Por exemplo, pode perceber que os clientes que compram o Produto A tendem
também a comprar o Produto B. Este é um exemplo de um algoritmo de recomendação
baseado no utilizador e na análise baseada no mercado. O que acabaria por significar
para o utilizador é que ao comprar um artigo específico, como um livro, é também
encorajado a comprar outros livros que pertencem à mesma série, género ou categoria.
Inteligência artificial (IA) | 7
O machine learning por reforço (RL) fornece insights e ações relevantes com base
em recompensas e castigos. A principal diferença entre este machine learning e o
supervisionado é que não precisa de entradas e saídas etiquetadas como parte do
algoritmo. Um excelente exemplo disso é a nova tendência financeira para “robots
assistentes”. Os robots assistentes utilizam agentes que são recompensados e punidos
com base no seu desempenho em ações da bolsa (ou seja, ganhos e perdas). Com o tempo,
o agente pode reconhecer se deve reter, comprar ou vender ações. Esta tendência mudou
completamente o cenário porque, no passado, os analistas tinham de tomar todas as
decisões; agora a maioria das complicadas tendências de dados já foram analisadas de
antemão e os analistas podem optar por ouvir ou não o agente. No entanto, o comércio
financeiro é muito complexo dada a natureza dos parâmetros existentes no mundo,
pelo que nem todas as previsões dos robots assistentes são exatas.
A Microsoft está a dar o exemplo com a sua iniciativa AI for Good, que visa tornar
o mundo mais sustentável e acessível através da IA. Especialmente interessante
é o projeto AI for Snow Leopards, no qual a Microsoft utiliza tecnologia de IA para
detetar os leopardos-das-neves (que são quase invisíveis na neve) para proteger esta
espécie em perigo de extinção. A exploração da inteligência artificial e da aprendizagem
profunda (a capacidade de aprender sem supervisão humana), especificamente os
aspetos de data science e das fórmulas, não é o foco deste livro, mas serão abordados
alguns conceitos em capítulos posteriores (obtenha mais informações sobre este
assunto no Capítulo 3, Processar e visualizar dados).
DataOps
Para ser eficiente e ágil na implementação da análise de dados na sua empresa, precisa
da cultura e dos processos adequados. É aqui que o conceito de DataOps entra em ação.
O DataOps remove a barreira de coordenação entre os dados (analistas, engenheiros
e cientistas) e as equipas de operações (administradores e gestores de operações) de
modo a alcançar velocidade e precisão na análise de dados.
O DataOps envolve uma cultura de colaboração entre diferentes papéis e funções.
Os data scientists têm acesso a dados em tempo real para explorar, preparar e servir
resultados. Os processos e fluxos automatizados revelam-se inestimáveis para
este esforço de colaboração entre analistas e programadores, já que fornecem fácil
acesso aos dados através de ferramentas de visualização. Os dados relevantes devem
ser facultados aos utilizadores finais através de aplicações Web ou móveis; isto é
geralmente possível com uma interface de programação de aplicações (ou API). Para
os CEOs, o DataOps equivale a uma tomada de decisão mais rápida, pois permite-
lhes monitorizar os negócios a um elevado nível sem esperar que os líderes de equipa
reportem. A Figura 1.1 tenta explicar a ideia de uma cultura colaborativa de DataOps:
Assim que uma equipa atinja a velocidade e precisão pretendidas no teste das suas
hipóteses (como a probabilidade de alguém comprar um produto com base nas
respetivas características e comportamento), é possível extraírem melhores insights.
A partir do momento em que existem melhores insights, existem pontos de decisão
mais exequíveis e razoáveis para os intervenientes no negócio que minimizam os
riscos e maximizam os lucros.
A Figura 1.2 mostra a ampla gama de ferramentas e serviços Azure específicos de dados
que é possível utilizar para criar pipelines de dados de ponta a ponta:
Segurança
A segurança é a principal prioridade para a Microsoft. No que toca aos dados, a
privacidade e a segurança não são negociáveis; existirão sempre ameaças. O Azure
possui as mais avançadas funcionalidades de segurança e de privacidade no domínio
da análise. Os serviços Azure suportam a proteção de dados através de Redes Virtuais
(VNets) para que, apesar de estarem na cloud, não seja possível os pontos de dados
serem acedidos pela Internet pública. Apenas os utilizadores na mesma VNet podem
comunicar entre si. Para as aplicações Web, obtém uma Firewall de Aplicações Web
(WAF) fornecida pelo Azure Application Gateway, que assegura que apenas os pedidos
válidos podem entrar na sua rede.
Com o controlo de acessos baseado em funções (autorização), pode assegurar que
apenas aqueles que têm as funções adequadas, como os administradores, têm acesso
a componentes específicos e às capacidades dos diferentes recursos. Por outro lado, a
autenticação assegura que se não tiver as credenciais adequadas (como palavras-passe),
não poderá aceder a um recurso. Com a ajuda do Azure Active Directory, a autorização e a
autenticação estão incorporadas em diversos serviços e componentes do Microsoft Azure.
O Azure também fornece um serviço chamado Azure Key Vault. O Key Vault permite
armazenar e gerir com segurança os segredos e as palavras-passe, criar chaves de
encriptação e gerir certificados para que as aplicações não tenham acesso direto
a chaves privadas. Ao seguir este padrão com o Key Vault, não é necessário codificar
os segredos e as palavras-passe no código-fonte e no repositório de scripts.
O Azure Synapse Analytics utiliza o ML e a IA para proteger os seus dados.
No Azure SQL, a Microsoft fornece segurança avançada de dados para assegurar
que os seus dados são protegidos, incluindo compreender se a sua base de dados
tem vulnerabilidades, como números de porta publicamente disponíveis. Estas
capacidades também permitem uma maior conformidade com várias normas, como
o Regulamento Geral Sobre a Proteção de Dados (RGPD), assegurando que os dados
do cliente considerados confidenciais são protegidos. O Azure SQL também anunciou
recentemente as suas novas funcionalidades (a segurança ao nível da linha (RLS)
e a segurança ao nível da coluna (CLS)), para controlar o acesso às linhas e colunas
numa tabela de bases de dados com base nas características do utilizador.
Por ano, a Microsoft investe pelo menos 1 mil milhões de dólares no domínio de
cibersegurança, incluindo a plataforma Azure. O Azure detém várias credenciais
e prémios de organismos de avaliação independentes, o que significa que pode confiar
no Azure em todos os aspetos de segurança, desde a segurança física (ao ponto
de nenhuns utilizadores não autorizados poderem ter acesso físico aos datacenters)
até à segurança ao nível da aplicação.
Estas são algumas das funcionalidades de segurança que precisa de considerar se
estiver a gerir o seu próprio datacenter.
12 | Introdução à análise de dados no Azure
Escala da cloud
O Azure mudou a indústria ao tornar a análise de dados rentável. Antes da adoção em
massa do cloud computing, para planear a análise de dados com terabytes ou mesmo
petabytes de dados, era preciso planear devidamente e assegurar que tinha o capital
necessário para o fazer, resultando em custos iniciais muito elevados de infraestrutura
e serviços profissionais, apenas para começar. Mas com o Azure, pode começar a uma
escala pequena (muitos dos serviços têm níveis gratuitos). Pode aumentar ou reduzir
verticalmente os seus recursos cloud com facilidade, dentro ou fora, numa questão
de minutos. O Azure democratizou a capacidade de dimensionamento, o que o torna
economicamente viável e acessível a todos, conforme ilustra a Figura 1.3:
Os utilizadores finais são agora mais exigentes do que nunca. Se a sua aplicação não
responder dentro de segundos, há uma maior probabilidade de o utilizador deixar
de utilizar o seu serviço ou produto.
Principais motores de negócio para adotar a análise de dados na cloud | 15
Reduzir custos
Devido às exigências do dimensionamento, as empresas e os negócios precisam de
dispor de um mecanismo para expandir a sua infraestrutura de dados de uma forma
rentável e financeiramente viável. É demasiado dispendioso criar um data warehouse
on-premises. Seguem-se apenas algumas das considerações a nível dos custos:
• O tempo de espera para a entrega do servidor e os processos de aprovisionamento
interno associados
• Os custos das redes e outros custos da infraestrutura física, tais como
a refrigeração do hardware e o património de datacenter
• Custos dos serviços profissionais associados à configuração e manutenção
destes servidores
• Custos de licenciamento (se aplicável)
• A produtividade perdida das pessoas e equipas que não podem enviar os seus
produtos com maior rapidez
Com um data warehouse moderno, pode acionar novos servidores de elevado desempenho
com cartões gráficos de elevado desempenho on demand. E utilizando um fornecedor de
cloud como o Microsoft Azure, só terá de pagar pelo tempo de utilização destes servidores.
Poderá encerrá-los quando já não precisar deles. Não só pode desligá-los on-demand,
como caso se verifique que um determinado serviço não é adequado às suas necessidades,
pode eliminar esse recurso e simplesmente aprovisionar um serviço diferente.
O Azure também oferece um desconto para instâncias “reservadas” que se comprometa
a utilizar durante um determinado período de tempo. Estas instâncias são muito úteis
para as bases de dados, soluções de armazenamento e aplicações que precisam de estar
a funcionar 24 horas por dia, com o mínimo de tempo de inatividade.
16 | Introdução à análise de dados no Azure
Promover a inovação
Neste mercado extremamente competitivo, as empresas precisam de inovar constantemente,
caso contrário, uma outra empresa irá surgir e ocupar a quota do mercado. Mas é claro que
ninguém pode prever o futuro com 100% de rigor. Assim, as empresas precisam de ter um
mecanismo para explorar coisas novas em função dos seus conhecimentos.
Um bom exemplo disto é o outsourcing dos processos de negócio (BPO) e os setores de
telecomunicações (telco), onde existem petabytes de dados que podem ainda não ter
sido explorados. Com um data warehouse moderno do Microsoft Azure, os intervenientes
destes setores podem dispor da infraestrutura para explorar os dados. Graças ao Azure
Synapse Analytics, Power BI e Azure Machine Learning, podem explorar os seus dados
para impulsionar as decisões de negócio. Talvez possam criar um modelo de dados
que consegue detetar ações fraudulentas ou compreender melhor as preferências
e expectativas dos clientes para aumentar as classificações de satisfação. Com análises
avançadas, estas empresas podem chegar a decisões que são relevantes no presente
(e possivelmente no futuro) e não se restringem apenas a analisar dados históricos.
E se pretender criar um veículo autónomo? Irá precisar de um data warehouse robusto para
armazenar os seus conjuntos de dados e de uma enorme quantidade de processamento de
dados. Será necessário capturar enormes quantidades de dados, seja através de imagens ou
de vídeos que o automóvel capture continuamente, e obter uma resposta de forma quase
instantânea com base no seu conjunto de dados e nos seus algoritmos.
A utilização de um fornecedor de cloud como o Microsoft Azure iria permitir-lhe testar
e validar as suas ideias desde o início, sem um investimento maciço. Com vários serviços
Azure e ferramentas associadas como o GitHub e Visual Studio, pode rapidamente criar
um protótipo das suas ideias e explorar possibilidades. O que acontece se o produto ou
serviço em que você ou a sua equipa está a trabalhar acabar por não ganhar tração? Se
fizer isto on-premises, continuará a ter elevados custos de responsabilidade e operações,
uma vez que é o proprietário físico da infraestrutura, além de quaisquer custos de
licenciamento e serviços associados.
Um data warehouse é essencial se pretender analisar os big data, uma vez que também
contém dados históricos (frequentemente chamados dados a frio). A maioria dos dados
que estão armazenados inclui informações legadas, como os dados armazenados há 5,
10 ou até mesmo 15 anos. Provavelmente não pretende que os seus utilizadores finais
façam consultas na mesma instância da base de dados que também contém esses dados
históricos, uma vez que isso pode afetar o seu desempenho à escala.
Aqui estão algumas das vantagens de ter um data warehouse moderno:
• Suporta qualquer origem de dados
• Altamente escalável e disponível
• Fornece insights a partir de dashboards analíticos em tempo real
• Suporta um ambiente de machine learning
Para compreender o que se entende por um data warehouse moderno, primeiro tem
de compreender como se cria e gere um data warehouse tradicional. Resume-se a dois
conceitos principais:
• Computação: refere-se à capacidade de processar os dados e de lhes dar
sentido. Pode assumir a forma de uma consulta de base de dados para tornar
os resultados acessíveis a uma outra interface, como aplicações Web.
• Armazenamento: refere-se à capacidade de manter os dados para que
permaneçam acessíveis a qualquer altura no futuro.
Uma vez que tenha dados suficientes, poderá explorá-los. É nesta altura que começa
a procurar padrões nos dados. Pode identificar transações fraudulentas e testar hipóteses
analisando os montantes de transações volumosas e repetidas do mesmo utilizador.
A sua exploração de dados é limitada porque só pode baseá-la num conjunto de dados
estruturado e com uma forma semântica. E se também pretender considerar outras
origens de dados que não estão estruturadas, como texto em forma livre? Um exemplo
é uma descrição da transação, a qual pode indicar a natureza ou o destinatário da
transação. A intenção não é ler manualmente cada descrição da transação e introduzi-la
na coluna correta de uma tabela de bases de dados. Provavelmente pretende apenas
extrair as informações relevantes e convertê-las num formato estruturado. É aqui que
entram os dados não estruturados.
Dados não estruturados: este tipo de dados corresponde mais ou menos ao resto dos
dados, ou seja, a tudo o que não sejam dados estruturados, o que se deve principalmente
ao facto de não estar limitado a qualquer tipo de armazenamento e dados.
Normalmente, os tipos de dados não estruturados não têm um modelo de dados predefinido
que possa encaixar diretamente numa base de dados. Os dados não estruturados podem ser
pesados em termos de texto e normalmente são lidos por linha ou separados por espaços.
20 | Introdução à análise de dados no Azure
Ingestão de dados
Ingestão de dados significa transferir os dados (estruturados, semiestruturados ou não
estruturados) da origem para o seu armazém, data lake ou data warehouse.
Este não é um processo único. Idealmente, isto é um algo que programa ou define para
ser acionado de modo a que o seu data lake obtenha um instantâneo histórico de vez
em quando. Um exemplo disto é uma ligação das suas ferramentas de CRM, como
o Microsoft Dynamics CRM, ao Azure Data Lake através do Azure Synapse Analytics
com a integração de dados. Deste modo, os cientistas e os engenheiros de dados
podem explorar estes dados em alturas diferentes sem interromper a aplicação de CRM.
Armazenamento de dados
Assim que os dados sejam ingeridos a partir das várias origens de dados, são todos
armazenados num data lake. Os dados que residem no data lake continuarão a estar em
formato não processado e incluem formatos de dados estruturados e não estruturados.
Nesta altura, os dados não acrescentam muito valor para gerar insights do negócio.
Partilha de dados
Num padrão moderno de data warehouse, a partilha de dados deve ser fluida e segura.
Muitas vezes, pode ser efetuada por File Transport Protocol (protocolo FTP), e-mails
ou APIs, só para citar alguns exemplos. Há uma grande sobrecarga de gestão se pretender
partilhar dados à escala. O Azure Data Share permite-lhe gerir e partilhar os seus big data
com outras entidades e organizações. O fornecedor de dados terá o controlo total do
acesso aos conjuntos de dados e às permissões que cada um pode efetuar. Deste modo,
é mais fácil para as empresas dependentes extrair insights e explorar cenários de IA.
Criar um pipeline de dados | 23
Visualização de dados
A visualização de dados é uma forma eficiente de analisar o desempenho através de
gráficos e diagramas. A isto chama-se business intelligence. Ferramentas como o Power
BI ajudam os analistas a aproveitar os dados ao máximo. Ao trabalhar com o Azure, não
está exclusivamente limitado ao Power BI, mas também pode utilizar outros serviços
de visualização, como o Tableau. A visualização de dados oferece uma representação
avançada e relevante dos seus dados que acrescenta valor de negócio para si e os seus
clientes. A equipa pode ver tendências, valores atípicos e padrões que ajudam a tomar
decisões orientadas por dados.
Diversos intervenientes da organização podem colaborar após analisarem os diferentes
parâmetros de desempenho. A sua empresa está a vender bem os produtos? Em que
regiões realiza a maior parte das suas vendas? Com dados avançados a apoiar as suas
suposições, os intervenientes do negócio, como os CEOs, podem tomar decisões
razoáveis orientadas por dados para minimizar os riscos. Que linhas de produtos
deve expandir? Onde deve expandir mais? Estas são algumas das perguntas comuns
que pode responder quando dispõe de uma análise de dados mais avançada.
Os analistas podem utilizar ferramentas de ambiente de trabalho ou de aplicações
Web para criar representações relevantes dos seus dados. Segue-se um exemplo de
uma vista do ambiente de trabalho do Power BI onde um utilizador pode efetuar uma
análise dos dados da sua empresa e visualizá-los em gráficos:
Assim que os relatórios sejam gerados podem ser exportados para uma área de trabalho
onde as pessoas podem colaborar para melhorar os relatórios. Aqui está uma vista de
exemplo do mesmo relatório numa aplicação móvel. Os utilizadores podem adicionar
comentários e anotações ao relatório, permitindo um ciclo de feedback mais rápido
para os analistas:
Resumo
Este capítulo estabeleceu a importância da análise de dados. Também destacou várias
razões pelas quais o Microsoft Azure é a plataforma ideal para alcançar capacidades de
business intelligence na cloud. Abordou alguns conceitos fundamentais à volta de big
data, ML e DataOps. Também ficou a conhecer alguns dos motores do negócio para
adotar a análise de dados na cloud. Por fim, adquiriu uma visão de alto nível do que
é necessário para ter um data warehouse moderno.
No capítulo seguinte, verá como deve começar a criar um data warehouse moderno
com o Azure Synapse Analytics e as tecnologias relacionadas.
Introdução à área de
2
trabalho do Azure
Synapse Analytics
e ao Synapse Studio
No capítulo anterior, apresentámos o Azure e os tipos de plataformas, ferramentas
e recursos oferecidos pelo Azure para facilitar a criação de soluções de data warehouse.
Neste capítulo, vamos centrarmo-nos na nova experiência unificada na área de trabalho
do Azure Synapse Analytics e no Synapse Studio. Iremos abordar os seguintes tópicos:
• O Azure Synapse Analytics e porque precisamos desta solução
• Aprofundamento do Azure Synapse Analytics
• Introdução à área de trabalho do Azure Synapse Analytics e guia de início rápido
passo a passo
28 | Introdução à área de trabalho do Azure Synapse Analytics e ao Synapse Studio
Ambos estes sistemas de análise são essenciais para as empresas e funcionam de forma
independente. Daqui podem resultar decisões mal informadas. Simultaneamente, as
empresas precisam de libertar os insights de todos os seus dados para se manterem
competitivas e inovarem processos para obterem melhores resultados.
Os clientes que pretendem criar o seu próprio pipeline de dados de ponta a ponta
devem executar os seguintes passos:
1. Ingerir dados provenientes de várias origens de dados.
2. Carregar todas estas origens de dados num data lake para processamento adicionar.
3. Limpar os dados num conjunto de diferentes estruturas e tipos de dados.
4. Preparar, transformar e modelar os dados.
5. Servir os dados limpos a milhares de utilizadores utilizando ferramentas
e aplicações de BI.
Até agora, cada um destes passos exigia uma ferramenta diferente, e com a quantidade
de ferramentas, serviços e aplicações disponíveis, escolher a ferramenta certa pode ser
intimidante.
Existem muitos serviços que ingerem, carregam, preparam e servem os dados. Também
existem múltiplos serviços para a limpeza de dados, consoante a linguagem de eleição
do programador. Alguns programadores preferem utilizar o Spark e outros o SQL,
enquanto outros pretendem ambientes sem código para transformar os dados.
Mesmo depois de ter escolhido o conjunto certo de ferramentas, a curva de
aprendizagem para as dominar é acentuada, bem como as dificuldades logísticas
subjacentes à manutenção de pipeline de dados em diferentes plataformas e linguagem.
Tendo em conta esta série de problemas, a implementação e manutenção de uma
plataforma de análise na cloud pode ser uma tarefa difícil.
30 | Introdução à área de trabalho do Azure Synapse Analytics e ao Synapse Studio
Por exemplo, imagine que a sua empresa precisava de criar um único modelo de
segurança para proteger todos os seus serviços para cumprir as mais recentes
diretrizes de conformidade interna. Uma tarefa como esta pode, à primeira vista,
parecer simples, mas, na verdade, é bastante complexa. Precisa de identificar
rapidamente qual é esse “modelo de segurança única” e, posteriormente, descobrir qual
é o modelo de implementação de todos os seus serviços. Precisa de perceber como
implementar elevada disponibilidade e recuperação após desastre para cada um destes
serviços. E, por fim, preciso de ter em atenção todas as responsabilidades relacionadas
com a gestão do ciclo de vida, incluindo monitorizar estes serviços para assegurar
um bom desempenho. Reunir todos estes serviços não é de algum modo uma tarefa
pequena e, no passado, exigiu um planeamento complexo.
O Azure Synapse Analytics pode extrair e fornecer insights de todos os dados que
residem no seu data warehouse e nos seus sistemas de análise de big data a velocidades
de relâmpago. Permite que os profissionais de dados utilizem a familiar linguagem
SQL para consultar tanto bases de dados relacionais como não relacionais à escala
do petabyte. As funcionalidades avançadas como a gestão inteligente de workloads,
o isolamento do workload e a simultaneidade ilimitada ajudam a otimizar o desempenho
de todas as consultas para os workloads críticos.
O Azure Synapse Analytics tira o máximo partido do Azure SQL Data Warehouse
e moderniza-o facultando mais funcionalidades para os programadores de SQL,
como a adição de consultas com conjuntos de SQL sem servidor, a adição do suporte de
machine learning, a incorporação nativa do Apache Spark, o fornecimento de blocos de
notas colaborativos e disponibilização da integração de dados num único serviço. Suporta
diferentes linguagens (como C#, SQL, Scala e Python), tudo através de diversos motores.
32 | Introdução à área de trabalho do Azure Synapse Analytics e ao Synapse Studio
Para apreciar totalmente as vantagens do Azure Synapse Analytics, vamos levá-lo numa
visita à área de trabalho do Azure Synapse Analytics e apresentaremos os serviços
principais que se encontram dentro do Synapse Studio.
Figura 2.3: Navegar para o Azure Synapse Analytics através do portal do Azure
Clique em Adicionar para criar uma nova área de trabalho do Azure Synapse
Analytics, conforme ilustrado na Figura 2.4:
Figura 2.4: Criar uma nova área de trabalho do Azure Synapse Analytics
Apresentação da área de trabalho do Azure Synapse Analytics | 35
Nota
Se vir uma mensagem que indica O fornecedor de recursos do Synapse tem de ser
registado nesta subscrição sob Subscrição na página Criar área de trabalho do
Synapse, basta clicar na ligação para se registar conforme instruído:
Figura 2.6: Criar uma nova conta Azure Data Lake Storage Gen2
9. No separador Resumo, faça uma revisão final das suas configurações, em seguida,
e clique em Criar:
Nesta secção, ensinámos-lhe a dar os primeiros passos com o Azure Synapse Analytics
ao criar a sua área de trabalho do Azure Synapse Analytics. Em seguida, prosseguimos
com a nossa apresentação visitando o Synapse Studio.
Figura 2.14: Selecionar a área de trabalho do Azure Synapse Analytics para continuar
Sugestão
Enquanto permanecer ativo, um conjunto de SQL irá consumir recursos faturáveis.
Para minimizar os custos, pode fazer uma pausa no conjunto quando não o estiver
a utilizar.
O seguinte script SQL cria uma tabela denominada dbo.TaxiTrip no nosso conjunto
de SQL dedicado e ingere mais de 2,8 milhões de linhas dos dados de NYC Taxi para
a tabela dbo.TaxiTrip:
CREATE TABLE [dbo].[TaxiTrip]
(
[DateID] int NOT NULL,
[MedallionID] int NOT NULL,
[HackneyLicenseID] int NOT NULL,
[PickupTimeID] int NOT NULL,
[DropoffTimeID] int NOT NULL,
[PickupGeographyID] int NULL,
[DropoffGeographyID] int NULL,
[PickupLatitude] float NULL,
[PickupLongitude] float NULL,
[PickupLatLong] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DropoffLatitude] float NULL,
[DropoffLongitude] float NULL,
[DropoffLatLong] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PassengerCount] int NULL,
Apresentação do Synapse Studio | 47
7. Pode alterar rapidamente a vista para Gráfico para ver os resultados como um
gráfico de linhas:
Agora que lhe mostrámos como é fácil aprovisionar um conjunto de SQL dedicado,
ingerir os dados e explorá-los, vamos voltar a nossa atenção para outra capacidade
essencial do Azure Synapse Analytics: o conjunto do Apache Spark.
Nas secções seguintes, vamos mostrar-lhe como criar um conjunto do Apache Spark
no Azure Synapse Analytics, carregar os dados de NYC Taxi na base de dados do Spark
e analisar esses mesmos dados utilizando o Spark e os blocos de notas.
2. Selecione NYC Taxi & Limousine Commission – yellow taxi trip records e clique
em Continuar:
Figura 2.34: Executar o código do Spark (Scala) para ingerir os dados do conjunto de SQL
e colocá los na base de dados do Spark
Nota
A linguagem padrão para o bloco de notas é PySpark (Python). Ao utilizar
o comando mágico %%spark na linha 1 do código, conseguimos rapidamente
mudar a linguagem desta célula para Spark (Scala).
56 | Introdução à área de trabalho do Azure Synapse Analytics e ao Synapse Studio
4. Se aceder ao hub Dados e atualizar as bases de dados, verá a nova base de dados
sparknyc (Spark) recentemente criada:
Agora que ingerimos com êxito os dados do conjunto de SQL e os colocámos na nossa
tabela do Spark, veremos como analisar os dados utilizando o Spark e o bloco de notas
na secção seguinte.
Analisar dados utilizando o Spark e o blocode notas
Agora que ingerimos dados e os colocámos na nossa nova base de dados do Spark sparknyc,
vamos utilizar o Spark e o bloco de notas para efetuar algumas análises de dados:
1. No Synapse Studio, selecione o hub Desenvolver no painel esquerdo e, em seguida,
+ e Bloco de Notas.
2. Agora, vamos efetuar a mesma análise no Spark como fizemos no nosso exemplo
anterior do conjunto de SQL. Guardaremos os resultados para uma nova tabela
do Spark passengerstats. Introduza o código seguinte na célula de código do novo
bloco de notas. Em seguida, clique no botão Executar para executar o código na
linguagem predefinida do bloco de notas de PySpark (Python):
df = spark.sql("""SELECT PassengerCount,
SUM(TripDistanceMiles) as TotalTripDistance,
AVG(TripDistanceMiles) as AverageTripDistance
FROM sparknyc.taxitrip
WHERE PassengerCount > 0 AND TripDistanceMiles > 0
GROUP BY PassengerCount
ORDER BY PassengerCount""")
display(df)
df.write.saveAsTable(“sparknyc.passengerstats”)
Apresentação do Synapse Studio | 57
Ingerir dados de uma tabela do Spark e colocá-los numa tabela do conjunto de SQL
Para concluir a nossa introdução aos conjuntos de SQL e ao Spark, iremos agora
demonstrar como carregar dados a partir da tabela do Spark passengerstats para uma
tabela do conjunto de SQL chamada sqlpool001.dbo.PassengerStats:
1. No Synapse Studio, selecione o hub Desenvolver no painel esquerdo e, em seguida,
clique em + e Bloco de Notas.
2. Adicione o código seguinte numa célula de código do novo bloco de notas:
%%spark
val df = spark.sql(“SELECT * FROM sparknyc.passengerstats”)
df.write.sqlanalytics(“sqlpool001.dbo.PassengerStats”,Constants.INTERNAL)
Nota
A linguagem padrão para o bloco de notas é PySpark (Python). Ao utilizar
o comando mágico %%spark na linha 1 do código, conseguimos rapidamente
mudar a linguagem desta célula para Spark (Scala).
Apresentação do Synapse Studio | 59
Agora que ingerimos com êxito os dados da nossa tabela do Spark e os colocámos numa
tabela do conjunto de SQL, vamos analisar como analisar dados utilizando conjuntos de
SQL sem servidor.
Analisar dados utilizando conjuntos de SQL sem servidor
Outra potente capacidade do Azure Synapse Analytics é a capacidade de analisar
dados com conjuntos de SQL sem servidor. Os conjuntos de SQL sem servidor
permitem executar consultas SQL sem aprovisionar os recursos. Isto facilita
a exploração e análise de dados no Azure Data Lake Storage Gen2 sem necessidade
de qualquer configuração ou manutenção da infraestrutura.
60 | Introdução à área de trabalho do Azure Synapse Analytics e ao Synapse Studio
Iremos agora demonstrar como utilizar conjuntos de SQL sem servidor para analisar
dados no Azure Blob Storage:
1. No Synapse Studio, selecione o hub Dados no painel esquerdo.
2. Em Ligado, clique com o botão direito do rato em nyc_tlc_yellow | Novo script
SQL | Selecionar as 100 primeiras linhas:
Figura 2.40: Utilizar o SQL sem servidor para analisar dados no Azure Blob Storage
A partir desta demonstração, pode ver que o conjunto de SQL sem servidor permite
executar consultas de forma instantânea sem ter de aprovisionar quaisquer recursos.
Em seguida, vamos analisar como criar pipelines de dados e efetuar transformações
de dados sem código.
Como pode ver, pode criar um pipeline no Azure Synapse Analytics com grande
facilidade e efetuar poderosas transformações de dados sem escrever uma única
linha de código.
O hub Monitorizar
A última funcionalidade que iremos analisar é o hub Monitorizar. É aqui que podemos
monitorizar as tarefas atualmente em execução. A melhor forma de compreender como
funciona é vê-lo em ação:
1. Execute o pipeline que criámos na secção anterior utilizando Acionar agora.
2. No Synapse Studio, selecione o hub Monitorizar no painel esquerdo e, em seguida,
clique em Execuções de pipelines:
Resumo
O Azure Synapse Analytics é uma evolução inovadora do Azure SQL Data Warehouse.
Esta solução tira o máximo partido do Azure SQL Data Warehouse e moderniza-o
facultando mais funcionalidades para os programadores de SQL, como a adição
de consultas com conjuntos de SQL sem servidor, o suporte de machine learning,
a incorporação nativa do Spark, os blocos de notas colaborativos e a integração
de dados, tudo num único serviço.
Conforme aprendeu neste capítulo, os engenheiros de dados podem aprovisionar uma
área de trabalho do Azure Synapse Analytics em questão de minutos e começar a criar
as suas soluções de análise de ponta a ponta utilizando uma abordagem unificada,
simplificada e racionalizada dentro do Synapse Studio. Este notável e inovador
ambiente tudo-em-um é um sonho tornado realidade para muitos profissionais
de dados.
No capítulo seguinte, irá analisar o Power BI e o Azure Machine Learning.
Posteriormente, veremos casos de utilização reais de como todas estas tecnologias
se integram para fornecer as soluções completas de data warehouse de ponta a ponta
que os decisores empresariais podem utilizar para extrair insights relevantes partir
de dados em tempo real.
Processar
3
e visualizar dados
Nos capítulos anteriores, ficou a conhecer o Azure Synapse Analytics e o Synapse
Studio. O Azure Synapse Analytics oferece muitas funcionalidades que são flexíveis e
extremamente dimensionáveis. Algumas das funcionalidades de extensibilidade do Azure
Synapse Analytics são a capacidade de utilizar a abordagem moderna do data warehouse
para servir relatórios relevantes e uma origem de dados para o machine learning.
Existem muitas formas de processar e visualizar dados utilizando o Azure e o conjunto
mais amplo de ferramentas disponibilizadas pela Microsoft. Este livro centra-se na
utilização do Power BI como um ferramenta para criar relatórios e dashboards. O Power
BI oferece um amplo leque de produtos e serviços. Este capítulo irá analisar a utilização
do Power BI Desktop no Windows para criar dashboards relevantes, bem como utilizar
áreas de trabalho do Power BI para alojar e partilhar relatórios publicados.
Este livro também lhe dará uma introdução ao ecossistema da inteligência artificial e do
machine learning dentro do Azure e da Microsoft. Iremos abordar uma plataforma específica
de machine learning nas secções posteriores utilizando o Azure Machine Learning.
Estas tecnologias funcionam perfeitamente com o Azure Synapse Analytics como uma
abordagem predefinida para visualizar e obter insights de um data warehouse unificado.
68 | Processar e visualizar dados
Power BI
O Power BI é um conjunto de ferramentas que permite aos utilizadores visualizar dados
e partilhar insights entre equipas e organizações, ou incorporar análises de dashboard
nos seus sites ou aplicações. Suporta diferentes origens de dados (tipos de dados
estruturados e não estruturados) e ajuda os analistas e utilizadores finais a criarem
dashboards dinâmicos e relatórios sobre dados de negócio on-demand. Um exemplo
disto seria visualizar as vendas da empresa correspondentes aos últimos meses
e determinar a cidade que mais artigos vendeu.
O que torna o Power BI diferente do software da folha de cálculo, como o Microsoft
Excel, é que foi concebido para ser uma interface de utilizador alojada, muitas vezes um
dashboard dinâmico, onde os utilizadores não precisam de armazenar frequentemente
um ficheiro na sua máquina local e abri-lo. Com o Power BI, pode tirar partido do
poder da cloud para explorar dados complexos e apresentá-los através de gráficos
ou diagramas avançados, permitindo que o servidor execute todos os cálculos em
vez do seu próprio computador. Imagine um cenário em que o seu tamanho de dados
aumenta de 500 megabytes para vários gigabytes. A maioria das máquinas de utilização
genérica, como os computadores pessoais com uma quantidade limitada de memória,
iriam debater-se para carregar um ficheiro do Excel dessa dimensão; no entanto, com
o Power BI, é como abrir uma página Web, uma vez que é um serviço alojado:
Conforme pode ver na Figura 3.1, o Power BI é constituído por diferentes componentes
que podem desempenhar diferentes funções:
• Power BI Mobile Apps: estas são aplicações móveis nativas que podem aceder
a relatórios a partir de uma área de trabalho que está alojada no Power BI.
Estão disponíveis na Apple iOS App Store e na Google Play Store.
• Power BI Gateways: um gateway é um mecanismo para sincronizar dados externos
no Power BI. Para os cenários empresariais com armazenamento on-premises, um
Power BI Gateway funciona como um mecanismo de consulta relativamente à origem
de dados sem a necessidade de transferir bases de dados para a cloud. No entanto,
os dados que estão alojados em relatórios do Power BI residem na Cloud do Azure.
• Power BI Report Server: num cenário on-premises, o Power BI Report Server
permite-lhe alojar relatórios do Power BI dentro do seu próprio datacenter. Estes
relatórios ainda são passíveis de partilha entre os diferentes membros, desde que
estes disponham do acesso adequado à rede.
• Power BI Embedded: permite-lhe aplicar uma marca branca do Power BI nas
suas próprias aplicações personalizadas. É frequentemente integrado de forma
estratégica nos dashboards e nos sistemas de back-office existentes, onde
apenas um conjunto de utilizadores pode ter acesso aos relatórios.
Funcionalidades e vantagens
A um alto nível, o Power BI oferece as seguintes vantagens:
• Dashboards personalizados que permitem aos analistas aplicar uma marca
ao aspeto e à funcionalidade dos gráficos, dos diagramas e das tabelas.
• Colaboração entre diferentes utilizadores.
• Governação e segurança que assegura que só os utilizadores autorizados podem
aceder aos dashboards.
• Sem restrições de memória ou velocidade, dado vez que é um serviço alojado na
cloud. É como se o utilizador estivesse simplesmente a carregar uma página Web.
• Integração fluida com as aplicações existentes para criar análises de dashboards
avançadas e personalizadas.
• Não é necessário qualquer suporte técnico especializado, dado que os relatórios
foram concebidos para proporcionar uma interação fácil.
• Suporte para serviços de dados avançados, como a funcionalidade “Fazer uma
Pergunta”, integração com R, segmentação e análise de coortes.
O Power BI é uma ferramenta intuitiva que, frequentemente, apenas exige que clique ou
arraste e largue um item para aceder e visualizar os dados com rapidez. A ferramenta de
criação, Power BI Desktop, está equipada com inúmeras funcionalidades incorporadas
para extrair análises. É suficientemente inteligente para sugerir um modelo de
visualização baseado nos campos que selecione.
70 | Processar e visualizar dados
Funcionalidades e vantagens
Existem muitas vantagens em aliar o Power BI e o Azure Synapse Analytics. Embora não
exista uma solução universal, nem uma ferramenta que permita resolver todos os seus
problemas de dados, a combinação do Azure Synapse Analytics e Power BI pode facilitar
operações e ciclos de vida de dados robustos, elásticos e mais fáceis de manter para
a sua equipa:
portal Web: o Azure Synapse Studio. Numa grande organização, algumas equipas
podem apenas necessitar de acesso à secção Desenvolver do Synapse Studio,
enquanto outras apenas dispõem de acesso à secção Monitorizar. O Synapse
Studio oferece um aspeto e uma funcionalidade unificados a todos os membros
da organização, sejam quais forem as funções e responsabilidades.
Neste livro, iremos usar o Power BI para gerar relatórios das consultas efetuadas pelo
Conjunto de SQL numa área de trabalho do Synapse. Este capítulo irá centrar-se na
forma como pode tirar partido dos conjuntos de dados do Power BI no Synapse Studio.
Existem diferentes abordagens para realizar uma visualização robusta de dados, mas
a principal razão para utilizar esta abordagem (o Power BI e Azure Synapse Analytics)
é a elasticidade e a separação de deveres. Esta combinação facilita uma capacidade
simplificada de geração de relatórios à escala, mesmo que tenha mil milhões de linhas
nas suas bases de dados.
Para compreender melhor como o Azure Synapse Analytics e Power BI trabalham em
conjunto, vamos começar com um simples guia de início rápido.
Pré-requisitos
Para realizar esta atividade, necessita do seguinte:
• Uma subscrição ativa do Azure
• Power BI Desktop (apenas Windows)
• Power BI Pro License
• Uma área de trabalho do Azure Synapse Analytics
Vamos começar.
Integrar o Power BI com o Azure Synapse Analytics
Esta atividade funcionará como um guia passo a passo da integração do Azure Synapse
Analytics com o Power BI. Utilizaremos o poder do Azure Synapse Analytics para
efetuar consultas que permitirão ao Power BI visualizar dados sem a necessidade
de efetuar transformações complexas dentro do seu ambiente do Power BI:
1. A primeira coisa que vamos fazer é estabelecer uma ligação entre a sua área de
trabalho do Azure Synapse Analytics e a sua área de trabalho do Power BI. Para
tal, aceda ao Synapse Studio e à secção Gerir. Clique em Serviços ligados e, em
seguida, clique no botão + Novo. Procure pelo Power BI conforme é ilustrado na
Figura 3.2. Clique na opção Power BI e clique em Continuar:
O Power BI e o Azure Synapse Analytics | 73
2. Escolha a opção Sem servidor e introduza um nome da base de dados. Clique em Criar:
Nota
Ao configurar a área de trabalho do Azure Synapse Analytics, esta incorpora um
conjunto de SQL sem servidor para si.
O Power BI e o Azure Synapse Analytics | 75
Após a criação bem-sucedida da base de dados, deve agora constar na lista de bases
de dados da sua área de trabalho.
Figura 3.8: Adicionar o conjunto de dados ao Azure Synapse Analytics utilizando o Azure Blob Storage
Figura 3.9: Criar uma nova consulta para selecionar as 100 primeiras linhas
O Power BI e o Azure Synapse Analytics | 77
Iremos modificar a consulta para criar uma vista com base numa instrução select do
conjunto de dados COVID-19 do Bing:
-- Drop existing “Covid19View”
DROP VIEW IF EXISTS Covid19View;
GO
Nota
No relatório real, posteriormente no Power BI, poderá ver que faltam outros
países. Pretendeu-se, deste modo, simplificar o exercício.
78 | Processar e visualizar dados
Verificar a vista
Vamos verificar se a vista foi criada na base de dados:
1. Aceda a separador Área de Trabalho da secção Dados do Synapse Studio.
Aprofunde o nível da base de dados e as vistas e verifique se a vista foi criada:
2. Clique com o botão direito na vista que foi criada, clique em Novo script SQL
e clique em Selecionar as 100 primeiras linhas:
3. Deste modo, deve abrir uma nova janela. Clique em Executar para executar
a consulta select. Deve apresentar linhas de dados no separador Resultados:
2. Deste modo, irá abrir um assistente que permitirá escolher uma base de dados.
Clique em Continuar:
Figura 3.17: Selecionar uma origem de dados para o conjunto de dados do Power BI
O Power BI e o Azure Synapse Analytics | 83
3. Após escolher uma base de dados, a secção seguinte do assistente permite fazer
download do ficheiro do Power BI Desktop. Clique em Fazer download:
Depois de fazer download do ficheiro, abra o ficheiro .pbids. O ficheiro deve abrir
o Power BI Desktop no seu computador Windows. Se ainda não estiver autenticado,
ser-lhe-á pedido-lhe que escolha um método de ligação à base de dados:
Figura 3.19: Adicionar uma base de dados do SQL Azure Synapse Analytics como uma origem
de dados no Power BI
84 | Processar e visualizar dados
Após personalização adicional, vamos publicar o relatório para que outras pessoas
possam vê-lo.
1. Clique no botão Publicar na parte superior do friso Base. Escolha um destino para
este relatório:
2. Assim que esteja publicado, irá fornecer-lhe uma ligação para abrir o relatório no
PowerBI.com. Abra a ligação:
Assim que esteja publicado, ficará disponível para a sua área de trabalho do Power
BI. Na área de trabalho, pode partilhar este relatório com qualquer dos membros
da equipa no seu inquilino clicando no botão Partilhar:
Parabéns por criar o seu dashboard do Power BI! Nesta atividade, abordámos como
utilizar o Synapse Studio para transformar dados num modelo semântico relevante que
o Power BI pode visualizar. Na secção seguinte, vamos explorar como podemos utilizar
o machine learning com o Azure Synapse Analytics.
Quando utiliza o Azure para conduzir a computação para análise de machine learning,
é-lhe fornecido hardware especializado que pode acelerar as suas experimentações.
Com hardware acelerado, como unidades de processamento gráfico (GPUs) rápidas
e matrizes de porta programável no terreno (FPGAs), pode ler milhares de milhões
de entradas de linha de uma tabela de base de dados e experimentar vários modelos
em simultâneo para obter resultados mais rápidos para as suas experimentações de
machine learning.
As secções seguintes fornecerão uma visão geral das principais tecnologias
e plataformas que implementam o machine learning e a inteligência artificial
dentro do ecossistema do Microsoft Azure.
Machine learning no Azure | 91
ML.NET
O ML.NET é uma arquitetura multiplataforma de open source para programadores
de .NET. Ao utilizar o ML.NET, o utilizador e a sua equipa podem aproveitar as
competências, bibliotecas e arquiteturas que já estão presentes no ecossistema
.NET. Pode criar aplicações Web utilizando o ASP.NET, aplicações móveis utilizando
o Xamarin, aplicações de ambiente de trabalho utilizando o WPF e até mesmo
a Internet of Things (IoT) utilizando a Windows IoT. Também pode expandir a sua
capacidade de criação do modelo de machine learning utilizando o TensorFlow
e o ONNX. O ML.NET fornece suporte “out of the box” para algoritmos que permitem
a análise de sentimentos, a recomendação de produtos, a deteção de objetos, a previsão
de vendas e muitos mais cenários de negócios no mundo real.
Para tarefas como a regressão e classificação, tanto a formação como o consumo
podem ser realizados com ML.NET. Para além disso, também suporta tipos de dados
básicos, pipelines extensíveis, estruturas de dados, suporte de ferramentas, matemática
de desempenho avançada e muito mais.
O ML.NET pode ser instalado a partir de nuget.org. nuget.org é um repositório público
de pacotes, bibliotecas e arquiteturas .NET que pode fazer download e adicionar
facilmente ao seu projeto .NET.
Serviços cognitivos
Os Serviços Cognitivos do Azure são um conjunto de modelos e APIs com um fim genérico,
previamente treinados e baseados na cloud que podem ser consumidos e expandidos
com vista a formação adicional para casos de utilização específicos. Se, por exemplo,
quiser criar uma IA de deteção de objetos que percebe o que é uma banana, poderá ter
de alimentar mais dados para ajudar a IA a perceber que uma imagem contém uma banana.
O consumo de serviços cognitivos é realizado por HTTP e é independente da plataforma,
o que significa que pode utilizar qualquer linguagem de programação e sistema operativo.
São cinco as categorias principais de serviços cognitivos: decisão, visão, fala, pesquisa
e linguagem. Pode integrar facilmente a IA e o ML com as suas aplicações móveis, Web,
de secretária ou até mesmo IoT utilizando os Serviços Cognitivos.
Bot Framework
O Microsoft Bot Framework permite que as aplicações criem bots inteligentes
(muitas vezes utilizados para chatbots) para automatizar os workflows. O Bot
Framework está estreitamente associado aos Serviços Cognitivos como o Language
Understanding Intelligence Service (LUIS) e o QnA Maker. O QnA Maker é um serviço
de processamento de linguagem natural (NLP) que acelera a criação de IA baseado
em conversação, por exemplo, os chatbots. Com o Bot Framework, os programadores
podem facilmente criar uma IA de conversação que aprende através do treino a partir
de expressões e intenções. Esta arquitetura também permite que os programadores
publiquem facilmente bots em canais como Microsoft Teams, Cortana e Slack.
Hoje em dia, o Bot Framework é amplamente adotado por grandes empresas, como
bancos e conglomerados de comércio, para o seu suporte de primeiro nível. Por
exemplo, o Banco de Beirute utilizou o Bot Framework para criar o chatbot Digi Bob,
que ajuda os utilizadores a pedirem empréstimos e a recorrerem a outros serviços
bancários. Para saber mais, leia este caso de utilização aqui.
Machine learning no Azure | 93
Estruturador
Também pode utilizar uma interface visual (sendo necessária codificação mínima) dentro
do Azure Machine Learning chamada Estruturador para criar e realizar experimentações.
A experiência utiliza uma abordagem de pouco código/sem código com ferramentas de
arrastar e largar para criar e ligar entidades. Esta é uma forma intuitiva de ligar origens
de dados e criar um modelo de machine learning para treinar e servir.
AutoML
Conforme explicado antes, o AutoML é um mecanismo que sugere o melhor algoritmo
a utilizar nas suas experimentações. É uma funcionalidade integrada do Azure Machine
Learning. Pode automatizar tarefas que consomem muito tempo, como a limpeza de
dados e a escolha dos algoritmos adequados para o seu modelo. O AutoML permite
iterar inúmeras combinações de algoritmos e hiperparâmetros para encontrar
o melhor modelo em função do resultado pretendido.
Com o Azure Machine Learning pode usar o Azure Databricks para preparar os dados
para as suas experimentações. Em seguida, pode utilizar os Jupyter Notebooks ou o
Visual Studio Code para criar as suas experimentações; em alternativa, também pode
usar a funcionalidade Azure Notebooks incorporada no Azure Machine Learning.
Em seguida, executará as suas experimentações para treinar e testar o seu modelo
de machine learning, tirando partido dos computadores para executar algoritmos
complexos de data science. O Azure Machine Learning criará um modelo de machine
learning com o formato ONNX, que é altamente portátil e pode ser facilmente
implementado num contentor como o Azure Container Instance. Também dispõe
da opção de o executar no Azure Kubernetes Services (AKS) ou até em dispositivos
periféricos que suportam o Docker.
Nota
O formato do modelo ONNX permite que profissionais de dados que trabalham
no Azure Synapse Analytics levem uma diversidade de modelos para o Synapse
de forma segura sem a necessidade de movimento de dados fora dos limites de
segurança do Azure Synapse Analytics.
Este livro não abrangerá a utilização do Azure Databricks como o cluster de cálculo do
Azure Machine Learning, mas existem vantagens em ter esta combinação. Se já estiver
a utilizar o Azure Databricks para obter análises em tempo real no seu data warehouse
moderno, também poderá considerar utilizá-lo para executar as suas experiências de
machine learning no Azure Machine Learning. Pode obter mais informações sobre este
assunto aqui.
96 | Processar e visualizar dados
Pré-requisitos
Para realizar esta atividade, necessita do seguinte:
• Uma subscrição ativa do Azure
• Criar uma área de trabalho do Azure Machine Learning
Azure Machine Learning e Azure Synapse Analytics | 97
Nota
Para este exercício específico, pode criar uma nova instância ou utilizar uma
existente para:
• Azure Storage
• Azure Key Vault
• Application Insights
• Azure Container Registry
98 | Processar e visualizar dados
Figura 3.33: Gerir o modelo de machine learning através da opção Iniciar estúdio
Azure Machine Learning e Azure Synapse Analytics | 99
Deste modo, será redirecionado para o estúdio do Azure Machine Learning, onde
iremos criar o nosso modelo de machine learning.
Este exemplo irá criar uma série de passos no pipeline, tal como indicado na
Figura 3.35:
Nota
No Azure Machine Learning, também pode adicionar e configurar as virtual
machine existentes como um destino de computação.
Assim que o destino de computação seja criado, estará pronto para executar a
experimentação. Tente clicar no botão Submeter de novo para acionar a experimentação.
3. Será solicitado que selecione ou crie um nome de experimentação conforme
ilustrado na Figura 3.37. Adicione o nome da experimentação na opção
Criar nova e quando estiver pronto, clique no botão Submeter:
Agora, irá executar a experimentação e esta operação vai demorar algum tempo.
Pode ver o progresso da experimentação visualmente consoante o estado de cada
passo: na fila, não iniciada ou concluída.
Quando a experimentação estiver concluída, todas as caixas devem estar realçadas
em verde, conforme ilustrado aqui:
4. Clique no passo Modelo de Imagem Pontuado. Clique com o botão direito do rato
e escolha a opção Visualizar. Em seguida, clique em Conjunto de dados pontuado:
Este exercício deu-lhe uma ideia de como é fácil começar a utilizar o Azure Machine
Learning. Pode optar por implementar este modelo no ACI ou AKS para obter uma
inferência em tempo real numa imagem que pretende testar, mas isso está fora do
âmbito deste livro. Não se esqueça de limpar ou eliminar os seus recursos se já não
precisar deles.
Resumo
Neste capítulo, explicámos como o Azure Synapse Analytics pode servir um modelo de
dados unificado ao Power BI. Em seguida, explorámos a utilização do Power BI Desktop
para criar relatórios. O Power BI permite-lhe criar gráficos avançados e relevantes
que extraem insights de negócio. Em seguida, publicámos um relatório para colaborar
no mesmo através de diferentes suportes e redes.
Também ficámos a saber que existem muitas ferramentas e tecnologias disponíveis
para implementar o machine learning e a inteligência artificial no Azure. Explorámos o
Azure Machine Learning, incluindo as suas funcionalidades e benefícios, e executámos
machine learning no Azure para criar um modelo que classifica animais. No capítulo
seguinte, iremos explorar diferentes casos de utilização de negócio para o Azure
Synapse Analytics e tecnologias relacionadas.
Casos de utilização
4
de negócios
O primeiro caso prático centra-se em ajudar uma empresa a extrair insights úteis
a partir dos seus dados quase em tempo real. O segundo caso fala sobre a utilização
de análises de dados sobre o Azure para resolver problemas operacionais e prestar
melhores serviços aos passageiros, ao melhorar a utilização das infraestruturas
do aeroporto mais movimentado do Egito. Para cada um dos casos de utilização,
iremos primeiro explicar brevemente o problema e os desafios, e depois procurar
um potencial plano de solução e os serviços Azure que facilitam essas soluções.
A Coolies nomeou uma nova CEO que é apaixonada por dados e ela criou uma nova
equipa de análise de dados e encarregou-a de criar e efetuar a manutenção de insights
de clientes quase em tempo real para fomentar decisões de negócio.
O problema
A Coolies, à semelhança de muitas outras organizações, está a tentar reinventar-se como
uma empresa orientada por dados. Inúmeros indicadores indicam que esta é a estratégia
certa. No entanto, para que a Coolies tenha êxito, tem de resolver muitos problemas. Alguns
destes problemas são de natureza técnica, enquanto outros são culturais e organizacionais.
A CEO da Coolies quer que a nova equipa de análise de dados ajude a empresa
a responder a pergunta que orientam decisões operacionais. A equipa executiva
espera obter respostas a muitas perguntas através dos dados. No entanto, para uma
melhor articulação do âmbito deste projeto, a equipa de dados da Coolies (em consulta
com a CEO) concordou em centrar-se na seguinte pergunta:
Como é que a Coolies pode aumentar os lucros?
Mais especificamente, a equipa de dados da Coolies recebeu um desafio de 20 dias para
executar um programa piloto de análise de dados com a vista modelar formas de ajudar
a empresa a aumentar a sua margem de lucro em 10%.
Para tornar o processo ainda mais interessante, os feeds das redes sociais são não
estruturados e encontram-se numa linguagem natural que os clientes usam para
escrever na Web. Estes feeds podem ser de grande valor para a Coolies, uma vez
que informam a empresa do feedback real fornecido pela sua base de clientes. No
entanto, para os profissionais de dados, é difícil capturar e organizar estes feeds
soltos de publicações de linguagem natural no mesmo formato e forma que os
dados de transação altamente estruturados.
A equipa de dados da Coolies precisa de enfrentar os desafios não só da captura
de dados em todas as suas diversas formas (estruturadas, semiestruturadas e não
estruturadas), mas também encontrar uma maneira de limpar e armazenar todos
estes dados num só local para que possam ser reunidos e correlacionados com
outras formas de dados de outras origens para descobrir novos insights.
Brainstorming do design
As secções seguintes tentarão articular melhor os requisitos e chegar a uma solução
técnica que possa satisfazê-los.
Ingestão de dados
A primeira tarefa para qualquer profissional de dados é procurar dados, recolhê-los,
limpá-los, validá-los e, em seguida, iniciar a parte estimulação da deteção e exploração
de dados. Para o cenário atual, é necessário definir as origens de dados das quais
necessita de extrair dados. Também precisa de ver como pode carregar dados de
diferentes origens para criar um único conjunto de dados que pode ser explorado
e consultado facilmente pelos analistas de dados. Alguns dos sistemas de origem
necessários para este caso de utilização incluem:
• Transações de venda: as transações de venda não só podem indicar o quê
e quantos produtos foram vendidos numa determinada loja, mas também podem
indicar quais foram os clientes que compraram determinados produtos. Isto
porque a Coolies já dispõe de um programa de fidelização onde os clientes
digitalizam o seu cartão de fidelização como parte do procedimento de finalização
da compra. A Coolies tem dois arquivos de dados diferentes para as transações de
vendas: um arquivo de dados para as lojas físicas e um outro para as lojas online.
• Dados de cliente: a Coolies tem um sistema de Gestão das Relações com os
Clientes (CRM) que contém dados de cliente. Os dados de cliente incluem
(entre outros) detalhes do perfil (nome, idade, endereço, número de telefone),
última data de compra, favoritos e outros históricos de compras.
• Dados do programa de fidelização: os dados do programa de fidelização são
armazenados num sistema de origem diferente e ajudam a Coolies a associar
os dados dos clientes às transações de vendas.
• Dados de utilização e clickstreams de aplicações digitais: indica como os clientes
da Coolies estão a responder à estrutura e ao conteúdo das suas aplicações.
• Sensores e dados de IoT: algumas das lojas da Coolies estão equipadas com
sensores digitais para compreender o comportamento dos clientes na loja.
Alguns arquivos têm sensores de IoT instalados para contar quantos clientes
passam por cada corredor e a que horas. Existem também sensores que medem
a temperatura e a humidade nas lojas da Coolies. A Coolies utiliza estes sensores
para assegurar que produtos frescos como o leite são conservados nas condições
adequadas. Além disso, a Coolies também tem sensores para contar o número
e clientes quase em tempo real. Isto ajuda a Coolies a designar mais pessoal
durante as horas de ponta para assegurar um serviço mais rápido, para que
os clientes não tenham de esperar em longas filas.
Brainstorming do design | 111
Armazenamento de dados
Conforme explicado anteriormente, a Coolies precisa de ingerir dados de diversas
origens. Também estima que o tamanho dos seus conjuntos de dados atuais ultrapasse
os 400 TB com um crescimento médio de 10 a 15 GB por dia. O formato destes
conjuntos de dados também difere bastante. Alguns são altamente estruturados,
enquanto outros estão totalmente desestruturados. Um elemento comum entre
todos estes conjuntos de dados diferentes é que todos estão a aumentar rapidamente
e chegam com uma taxa de débito elevada. Para servir as necessidades da Coolies,
precisamos de um arquivo de dados que:
• Seja dimensional e elástico para crescer com as exigências da equipa de dados
da Coolies
• Seja uma plataforma segura e controlada para garantir que os ativos
e a propriedade intelectual da Coolies estão bem protegidos
• Seja compatível com outros sistemas e ferramentas existentes
• Tenha um preço razoável
• Apresente uma elevada disponibilidade
• Suporte operações de elevado débito e processamento paralelo
112 | Casos de utilização de negócios
Data science
Uma vez que todos os dados são recolhidos e armazenados num arquivo de dados
central, a equipa de dados da Coolies deverá ter uma plataforma para:
• Limpar, transformar e explorar os conjuntos de dados
• Colaborar com outros intervenientes empresariais e técnicos para detetar
padrões e tendências
• Integrar com arquitetura de inteligência artificial e runtimes para aplicar algoritmos
de machine learning nos conjuntos de dados e revelar quaisquer padrões
• Treinar e operacionalizar os novos modelos de machine learning que possam
resultar do trabalho da integração anterior
• Permitir que a equipa agende, execute e monitorize os pipelines de dados para
permitir a transformação, limpeza e integração dos dados
Dashboards e relatórios
O desenvolvimento de soluções de análise de dados pode ser visto como uma
conversação contínua entre os profissionais de dados, os intervenientes no negócio
e os próprios dados. Requer um aperfeiçoamento contínuo e o teste de hipóteses.
Como tal, é imperativo que a equipa de dados da Coolies desenvolva e mantenha
relatórios e dashboards interativos para comunicar o seu trabalho e os resultados
dos seus processos de deteção de dados à empresa.
O primeiro passo para a criação de tais relatórios e dashboards é arranjar um modelo
de dados consistente e comum que facilite um entendimento comum em toda
a organização.
A solução
A equipa de dados da Coolies decidiu utilizar o Microsoft Azure para implementar
a sua solução de análise. Entre outros aspetos, a equipa da Coolies mencionou
a escalabilidade, a conformidade e a disponibilidade regional do Azure nas regiões
da Coolies (Austrália e Japão) como os principais fatores para a tomada desta decisão.
A equipa também explicou as razões pelas quais cada um dos serviços Azure escolhidos
é adequado para o seu propósito, como veremos nas secções seguintes.
A Coolies utilizou os requisitos depurados e as ideias de brainstorming (das secções
anteriores) para criar uma estrutura para a arquitetura da solução. A equipa de dados
da Coolies criou a seguinte arquitetura (conforme ilustrado na Figura 4.1):
A solução | 113
Fluxo de dados
O design na Figura 4.1 ilustra a arquitetura da solução e o fluxo de dados entre os
seus componentes individuais. Aqui, explicamos cada um dos segmentos do workflow
conforme assinalado (numerado) no diagrama anterior:
1. A Coolies precisa de ingerir muitos conjuntos de dados diversificados. Alguns deles
contêm dados estruturados e outros contêm dados não estruturados. A Coolies
irá utilizar a Capacidade do Azure Synapse Analytics para uma integração de
dados híbrida. Deste modo, a Coolies pode ingerir dados estruturados utilizando
atividades batch periódicas (5 minutos) e enviar estes dados para o Azure Data
Lake Storage Gen2.
2. Para os dados não estruturados, a Coolies irá utilizar os Azure Event Hubs para
capturar estes dados quase em tempo real e enviá-los para o Azure Data Lake
Storage Gen2. Assim, os novos dados serão disponibilizados para processamento
pela solução de análise da Coolies e permite à Coolies acionar qualquer ação
relacionada com os dados quase em tempo real (a cada 1 minuto). Os dados não
estruturados incluem dados provenientes de análises clickstream (relatórios sobre
o comportamento dos utilizadores nos canais digitais da Coolies), feeds de redes
sociais (do Twitter, do Facebook, etc.), registos e informações de rastreio dos
servidores da Coolies, e todos os dados provenientes de sensores da IoT.
114 | Casos de utilização de negócios
3. Todos os dados ingeridos irão confluir para o Azure Data Lake Storage Gen2, que
servirá de hub central para todos os dados da organização.
4. Assim que os dados não estruturados sejam ingeridos nos Azure Event Hubs, serão
enviados para o Azure Data Lake para armazenamento permanente. Esta operação
é efetuada utilizando a funcionalidade de captura de dados dos Azure Event Hubs,
que nos permitem armazenar dados de streaming no Azure Data Lake Storage Gen2
com rapidez e facilidade.
5. Os dados da Coolies ficarão alojados no Azure Data Lake Storage Gen2. Estes dados
são provenientes de diferentes origens, tendo vários níveis de qualidade e diversas
granularidades. Assim, a equipa de dados da Coolies terá de limpar, preparar,
validar e melhorar estes conjuntos de dados. Este trabalho será realizado utilizando
o conjunto do Spark do Azure Synapse Analytics. O Azure Synapse Analytics
fornece um cluster gerido do Spark para que os engenheiros de dados da Coolies
possam facilmente ligar e explorar os dados no Azure Data Lake Storage sem
terem de mover os dados para qualquer outro sistema.
6. Enquanto a equipa da Coolies está a limpar e a preparar dados no conjunto do
Spark do Azure Synapse, todos os dados (frescos/novos e históricos) precisam
de ser combinados num modelo padrão que seja fácil de consultar e servir aos
utilizadores empresariais. Para este efeito, a equipa da Coolies tenciona utilizar
o data warehouse (conjunto de SQL) do Azure Synapse Analytics. Isto permite à
equipa de dados da Coolies unir, modelar e preparar todos os dados para consumo
por utilizadores da empresa. Não só permite que os sistemas de utilizadores da
Coolies executem consultas e respondam a perguntas sobre os dados recentemente
chegados, como também combinem estes novos dados com os dados históricos
que já se encontram no data warehouse para chegar a um consenso sobre
o desempenho do negócio e os comportamentos dos clientes.
7. Graças ao Power BI, a Coolies pode não só publicar relatórios e dashboards
para utilizadores da Coolies, como também permite que cada utilizador seja um
analista de dados no respetivo domínio utilizando uma abordagem de self-service
e explorando os modelos de dados publicados. A Coolies pode utilizar modelos
de dados compostos para grandes conjuntos de dados, que se trata de uma
funcionalidade do Power BI Premium.
8. A Coolies investiu em modelos complexos utilizando o Microsoft Excel. Alguns dos
analistas de dados da Coolies gostariam de utilizar o Microsoft Excel para aceder
aos dados do Azure Synapse Analytics. Tanto no caso do Microsoft Excel como do
Azure Synapse Analytics, isto é suportado “out of the box”.
Serviços Azure
As secções seguintes irão descrever cada um dos serviços Azure que são ilustrados no
design da solução da Figura 4.1. Para cada serviço, primeiro irá explicar por que este
componente é necessário, posteriormente, por que os serviços Azure são adequados
para a Coolies e, por fim, irá mostrar um breve exemplo prático da parte principal da
implementação.
Serviços Azure | 115
Exemplo de implementação
Durante a ingestão de dados no Azure Data Lake Storage Gen2, é considerada uma
boa prática utilizar espaços de nome e contentores para organizar os dados no data
lake. Isto não só facilita a localização dos dados, como também ajuda na gestão do
controlo de acessos. A Figura 4.2 ilustra um exemplo da distribuição de zonas do data
lake onde um data lake é dividido em quatro zonas: Zona de Destino (ingestão), Zona
de Transição, Zona Segura e Sandbox de Análise:
• Zona de Destino: é aqui para que todos os dados (exceto os dados confidenciais)
que chegam ao data lake convergem antes de serem processados, limpos,
agregados, e assim por diante.
• Zona de Transição: é aqui que os dados serão limpos/ficarão transitoriamente
antes de serem preparados para consumo.
• Sandbox de Análise: esta zona é utilizada por cientistas e engenheiros de dados
como a sua sandbox para armazenar dados enquanto estão a processar e explorar.
• Zona Segura: é aqui que são armazenados e processados os dados altamente
sensíveis. Separar a zona de segurança das outras zonas pode melhorar a gestão
do controlo de acessos. Esta zona inclui dados confidenciais, tais como dados de
fusões e aquisições, dados financeiros e outros dados dos clientes que podem ser
difíceis de ocultar, tais como dados de sexo, idade e etnia, se conhecidos:
• Algumas partes da Coolies utilizam outras ferramentas de BI, como o Power BI,
Tableau e Qlik, e queriam ter a certeza de que o novo data warehouse suporta
esta integração. O Azure Synapse Analytics é compatível com muitas ferramentas
de BI, incluindo as ferramentas de BI existentes da Coolies.
• O Azure Synapse Analytics também pode acionar o Apache Spark on demand.
Isto pode ser extremamente útil para a equipa de dados da Coolies, já que lhes
permite utilizar a mesma ferramenta de open source para trabalhar com os
seus dados dentro do Azure Synapse Analytics. Deste modo, facilita uma melhor
produtividade, uma vez que os clusters do Spark suportam várias linguagens
e arquiteturas “out of the box” (Python, R, Scala, etc.). Assim, os membros da
equipa da Coolies podem ser produtivos e permanecer satisfeitos utilizando
as ferramentas com as quais estão mais confortáveis.
• Desenvolver, implementar e gerir um data warehouse pode ser um exercício muito
complexo. O Azure Synapse Analytics brilha nesta área, uma vez que se baseia na
grande experiência da Microsoft como empresa de desenvolvimento. Parte da
razão pela qual a Coolies está tão interessada no Azure Synapse Analytics é a sua
gestão simplificada dos workloads e a excelente produtividade dos programadores.
O Azure Synapse Analytics é o único data warehouse na cloud que oferece suporte
SSMS e SSDT nativo, incluindo projetos do Visual Studio para gestão de códigos e
esquemas, que são essenciais para assegurar um ciclo de vida de desenvolvimento
simplificado e reduzir o custo total de propriedade.
• Além disso, o Azure Synapse Analytics fornece um ambiente de colaboração avançado
onde os diversos intervenientes do Coolies podem trabalhar no mesmo bloco de
notas ao mesmo tempo. Isto melhora significativamente a produtividade e fomenta
uma maior inovação, reunindo os conhecimentos de todos os membros da equipa.
• A diversidade é boa para a inovação, pelo que o Azure Synapse Analytics
suporta múltiplas linguagens e arquiteturas de programação. Os cientistas e os
engenheiros de dados da Coolies podem utilizar R, Python, SQL, Scala, Java e C#
para escrever código em Blocos de Motas graças ao suporte do Azure Synapse
para o Apache Spark. Isto é particularmente importante para a Coolies, já que
tem sido difícil recrutar e reter talento nesta área.
Integração Híbrida do Azure Synapse (Pipelines)
A função na estrutura: a Coolies, à semelhança da maioria das outras empresas,
tem muitas origens de dados. Algumas destas origens de dados residem on-premises,
enquanto outras estão na cloud. Conforme foi explicado anteriormente, a Coolies
precisa de reunir todos estes dados num só local para conseguir combinar,
correlacionar, modelar e transformar estes conjuntos de dados para detetar tendências
e insights. Isto requer a criação e gestão de muitos conectores de dados para mover os
dados dos sistemas de origem da Coolies para o arquivo de dados central (o data lake).
É exatamente aqui que o Azure Synapse brilha porque é um serviço gerido que pretende
simplificar a integração de dados para os utilizadores de todos os níveis de competência.
Serviços Azure | 119
Exemplo de implementação
Aqui está um exemplo de como a Coolies configura o Azure Synapse Pipelines para
extrair dados da sua base de dados de transações de vendas (que se encontra num
servidor do SQL do Azure) para o Azure Data Lake Storage Gen2:
1. O Azure Synapse fornece integração nativa com o Azure Data Lake Storage Gen2.
A Coolies pode ligar-se ao Azure Data Lake Storage Gen2 configurando um serviço
associado no Azure Synapse Pipelines do seguinte modo:
{
"name": "CooliesAzureDLStorageLS",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://{accountname}.dfs.core.windows.net",
"accountkey": {
"type": "SecureString",
"value": "{accountkey}"
}
},
"connectVia": {
"referenceName": "{name of Integration Runtime}",
"type": "IntegrationRuntimeReference"
}
}
}
Vale a pena referir que este exemplo contém marcadores de posição para os
principais valores de configuração, como os campos name e accountKey da conta
do Azure Storage e o nome do runtime de integração.
Serviços Azure | 121
"typeProperties": {
"tableName": "sales_table"
}
}
}
5. O seguinte fragmento de código configura a atividade de movimento de dados da
base de dados SQL de vendas para o Azure Data Lake. Será criada uma atividade
no Azure Synapse Pipelines, sendo feita referência aos dois conjuntos de dados que
criámos no passo 2 e no passo 4. A atividade define a base de dados SQL de vendas
do Azure como a origem do movimento de dados e o Azure Data Lake Storage Gen2
como o destino da atividade de movimento de dados:
{
"name": "CopyFromAzureSQLSalesDatabaseToAzureDataLake",
"type": "Copy",
"inputs": [
{
"referenceName": "CooliesSalesDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "CooliesAzureDataLakeSalesDataset",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "AzureSqlSource",
"sqlReaderQuery": "SELECT * FROM SALES_TABLE"
},
"sink": {
"type": "ParquetSink",
"storeSettings":{
"type": "AzureBlobFSWriteSetting",
"copyBehavior": "PreserveHierarchy"
}
}
}
}
124 | Casos de utilização de negócios
Power BI
Função na estrutura
A equipa da Coolies precisa de visualizar e comunicar as suas descobertas, bem
como alguns dos dados não processados à empresa. Isto é essencial para assegurar
o envolvimento dos intervenientes do negócio e para obter feedback com rapidez
e facilidade. A Coolies também necessita de uma plataforma para permitir aos
utilizadores que utilizem relatórios de self-service e dashboards, fornecendo
as condições para explorem os dados por si mesmos.
O Power BI preenche esta função, ao permitir à Coolies visualizar os dados utilizando
uma diversidade de elementos visuais e formas, e ao permitir também aos utilizadores
empresariais e não técnicos o self-service de quaisquer necessidades de relatório
e/ou dados.
Porquê o Power BI?
O Power BI é uma oferta de Software como Serviço (SaaS) de business intelligence
que permite à Coolies converter os seus dados em elementos visuais e dashboards
interativos com rapidez e facilidade. A Coolies escolhe o Power BI não só devido às suas
capacidades de visualização, mas também para melhorar a colaboração e o self-service
para dados e relatórios, as principais funcionalidades do serviço Power BI. A equipa
de dados da Coolies resumiu os seus fundamentos para considerar que o Power BI
é adequado para este fim, da seguinte forma:
• O Power BI é uma oferta de SaaS totalmente gerida, o que significa menos
infraestrutura para a equipa da Coolies gerir.
• O Power BI simplificou a visualização e relatório de dados e pode dar condições
a qualquer utilizador da Coolies para ser um analista de dados. A experiência do
utilizador no Power BI é uma grande vantagem da plataforma, permitindo que
os utilizadores explorem os dados e dashboards interativos por si mesmos. A
Coolies espera que isso reduza as despesas gerais e os pedidos de dados à sua
equipa de dados, bem como melhore a colaboração e a interação dos utilizadores
da empresa.
• O Power BI fornece uma aplicação de ambiente de trabalho que pode ser
utilizada pelos utilizadores da Coolies para explorar dados, limpar dados e criar
elementos visuais. Esta capacidade é muito atrativa para a Coolies uma vez que
a utilização da aplicação Power BI Desktop é gratuito e não requer uma licença
comercial. Além disso, a experiência do utilizador na aplicação Power BI Desktop
e no serviço baseado na cloud do Power BI é muito semelhante, o que significa
menos treino e uma transferência de conhecimentos mais fácil.
Serviços Azure | 125
• O Power BI tem uma integração nativa com o Azure Active Directory, o que
permite que os utilizadores da Coolies utilizem as identidades existentes.
Deste modo, simplifica as implementações, melhora a governação e
reforça a segurança. Além disso, o Power BI obteve muitas certificações de
conformidade e está disponível em muitas regiões do mundo, incluindo a
Austrália, onde a Coolies está sediada.
• A Coolies tem linhas de orientação em matéria de marca e promoção bem
definidas, o que significa que todas as visualizações e dashboards devem seguir
os estilos de cores, as melhores práticas, etc., da Coolies. A Coolies acredita que
isso melhora o entendimento da marca e das informações porque os relatórios
são consistentes e familiares para o utilizador. O Power BI suporta este requisito
ao disponibilizar diversas funcionalidades, tais como temas personalizáveis,
esquemas personalizáveis e outros elementos visuais personalizados.
• O Power BI oferece integração “out of the box” com o Azure, o que permite
à Coolies iniciar qualquer preparação de dados e transformação local e à
escala para o Azure quando necessário. Além disso, o Power BI tem integração
nativa com os serviços Azure AI. Assim, a Coolies infunde as capacidades de IA
e machine learning para entregar valor com maior rapidez e facilidade, tudo
a partir do Power BI.
• O Modelo Composto do Power BI permite que a Coolies gere relatórios
avançados que obtêm dados de várias origens. Os Modelos Compostos
permitem que a Coolies inclua, sem problemas, ligações de dados de mais
de um DirectQuery ou importem ligações de dados em qualquer combinação,
simplificando as ligações de dados dos relatórios às origens de dados e ajudando
a Coolies a criar modelos de dados complexos, ao combinar múltiplos sistemas
de origem e reunir tabelas de diferentes conjuntos de dados. Além disso,
a utilização da funcionalidade Modo de Armazenamento dos Modelos Compostos
no Power BI Premium pode ajudar a melhorar o desempenho e a reduzir a carga
do back-end, porque o Power BI permite que o autor de um relatório tenha a
capacidade de especificar os elementos visuais que requerem (ou não) origens
de dados de back-end. Em seguida, o Power BI coloca na cache (armazena) os
elementos visuais que não requerem atualizações contínuas de origens de dados
de back-end, o que, por sua vez, melhora o desempenho e reduz a carga sobre
os sistemas back-end.
126 | Casos de utilização de negócios
Exemplo de implementação
Aqui está um exemplo dos dashboards dos Coolies. O objetivo dos relatórios seguintes
é comunicar o desempenho da Coolies em termos de vendas de produtos nas respetivas
categorias, o stock atual dos produtos mais vendidos, os números de vendas por ano
e a distribuição regional dos clientes da Coolies. O relatório foi criado utilizando dados
de exemplo fornecidos pela Microsoft:
Azure DevOps
O Azure DevOps oferece à Coolies as ferramentas, as estruturas e os serviços
necessários para implementar uma prática ágil para fornecer a sua solução.
O Azure DevOps é um serviço totalmente gerido que permite à equipa da Coolies:
• Planear, monitorizar, debater e monitorizar itens de trabalho utilizando o Azure Boards.
A Coolies já adotou as práticas ágeis, onde as paredes físicas são atualizadas utilizadas
para monitorizar itens de trabalho, mas percebeu que as paredes físicas não podem
ser dimensionadas para equipas maiores e estão limitadas a nível da sua funcionalidade.
Por exemplo, a Coolies pode utilizar o Azure Boards para ligar defeitos e itens de
trabalho a alterações de código para monitorizar e melhorar a qualidade do código.
• Criar, testar e implementar continuamente alterações de código utilizando o Azure
Pipelines. O Azure Pipelines facilita as práticas ágeis como a integração e a entrega
contínuas, o que pode melhorar significativamente a qualidade e o ritmo de entrega.
O Azure Pipelines também permite que a Coolies automatize quaisquer passos de
implementação necessários para enviar as alterações de código, reduzindo assim as
despesas gerais e melhorando a confiança nas novas implementações.
• A Coolies necessita de um sistema de controlo de origens para alojar o seu
código e scripts. A Coolies gostaria de utilizar o Azure Repos para esse efeito, já
que fornece suporte de nível empresarial, um número ilimitado de repositórios
e um ambiente colaborativo para a equipa de desenvolvimento debater e rever
as alterações de código antes da fusão.
• O Azure Test Plans pode ajudar a Coolies na validação e verificação de quaisquer
alterações de código e dados para dar à Coolies maior confiança nas alterações
antes de as fundir. A Coolies pode utilizar o Azure Test Plans para testes manuais
e exploratórios, e como o Azure Test Plans faz parte do Azure DevOps, a Coolies
pode dispor de uma excelente rastreabilidade de ponta a ponta para as histórias,
as funcionalidades e os defeitos.
128 | Casos de utilização de negócios
Insights e ações
Com o Microsoft Azure, a equipa de dados da Coolies conseguiu conceber, criar
e implementar a solução de forma rápida e fácil. Em duas semanas, a equipa encontrou
uma série de insights essenciais que podem ajudar a Coolies a aumentar as suas
margens de lucro. Três destes insights são listados aqui.
Insights e ações | 129
Conclusão
Já observou como a Coolies (ou qualquer outra organização) pode tirar partido do
Microsoft Azure para detetar insights do cliente e acrescentar valor quase em tempo
real. O Microsoft Azure oferece uma ampla gama de serviços para a gestão e análise
de dados e visa simplificar o processo de desenvolvimento, ao mesmo tempo que eleva
a fasquia da qualidade e do desempenho.
Além disso, o Microsoft Azure oferece muitos serviços de dados e análise como
ofertas totalmente geridas, o que significa menos despesas gerais para a Coolies
(e qualquer outra organização). A outra vantagem de utilizar o Azure sem servidor é que
as organizações e as equipas podem começar aos poucos sem grandes investimentos
e aumentar verticalmente à medida que a procura cresce. Trata-se de uma excelente
abordagem de negócio, uma vez que reduz os riscos de investimento inicial, ao mesmo
tempo que atenua o peso da aprovação burocrática para as grandes despesas no início
de um projeto de dados.
Por fim, o Microsoft Azure fornece uma grande quantidade de documentação e
materiais de aprendizagem online e pretende quebrar a barreira inicial, oferecendo um
crédito gratuito que pode ser utilizado por qualquer equipa ou indivíduo para começar
a aprender e criar com o Azure hoje mesmo.
132 | Casos de utilização de negócios
O problema
Para definir corretamente o problema do negócio, primeiro é necessário considerar
os desafios na perspetiva do negócio. Depois, irá analisar os problemas técnicos que
impedem a capacidade do aeroporto de evoluir.
Desafios do negócio
Conforme mencionado, o NIA serve dezenas de milhões de passageiros todos os
anos. Está previsto que o volume de passageiros aumente cerca de 20% nos próximos
3-5 anos. Em 2019, o aeroporto sofreu um prejuízo superior a 370 milhões de dólares
devido a ineficiências operacionais. Incluiu custos por atrasos dos voos devido ao
congestionamento e às longas filas, a perda de oportunidades de venda devido à má
experiência dos passageiros, o mau planeamento dos níveis de pessoal e subutilização
dos ativos do aeroporto.
A CIO do NIA, Zara Hassan, é relativamente nova (só está no NIA há 6 meses) e tem
formação em dados e business intelligence. Zara tem uma visão para transformar esta
enorme ineficiência no NIA numa oportunidade de negócio. Apresentou um caso de
negócio ao conselho de administração do NIA para fazer pequenos investimentos
incrementais em análises avançadas para reduzir os custos operacionais globais do
aeroporto, melhorando ao mesmo tempo a experiência dos clientes.
O problema | 133
Como visionária, Zara compreende que para que o aeroporto tenha sucesso, deve
passar da observação de relatórios históricos à previsão do futuro. Ela pretende que
a sua equipa ajude a administração do aeroporto a prever os atrasos nos voos e a
atenuar essas ocorrências. Zara acredita que se a administração aeroportuária tiver
acesso às ferramentas adequadas, então será possível melhorar o planeamento da
capacidade, a afetação de recursos e a segurança.
A abordagem proposta consiste em usar os dados e a inteligência artificial para modelar
passageiros, voos, bagagens, ativos e outros conjuntos de dados para poder prever com
confiança o volume de passageiros e o movimento das multidões, o que, por sua vez,
permitirá ao aeroporto melhorar as suas operações e reduzir os custos.
Os desafios de negócio enfrentados pela equipa de análise de dados do NIA podem ser
resumidos do seguinte modo:
• O primeiro grande desafio para a administração aeroportuária é melhorar
o planeamento da capacidade. Atualmente, a equipa de liderança do NIA
toma estas decisões com base em pressupostos e experiências anteriores,
o que não reflete necessariamente a realidade. Até agora, o NIA não tem tido
uma abordagem orientada por dados consistente para prever o número de
passageiros que podem esperar todos os dias. A precisão na previsão do número
de passageiros esperados é essencial para o planeamento da capacidade,
como a gestão dos níveis de pessoal e a aquisição de equipamentos, bem como
o planeamento de melhorias da infraestrutura. Além disso, o NIA não dispõe de
uma solução para prever as companhias aéreas que podem atrasar-se ou prever
o número de profissionais de segurança que o aeroporto poderá necessitar
num determinado dia para servir os passageiros. Isto resulta em sobrelotação,
longas filas e na utilização ineficiente das infraestruturas. Estima-se que o mau
planeamento da capacidade tenha custado ao NIA cerca de 160 milhões de
dólares no ano passado. Acrescente a esses custos novos ativos como veículos
e carrinhos que o aeroporto comprou devido à necessidade percebida, enquanto
na realidade apenas precisavam de melhorar a utilização dos ativos existentes.
• A afetação de recursos é outra das principais preocupações da administração
do NIA. Os passageiros têm de aguardar no aeroporto em longas filas, seja na
alfândega ou nos balcões de check-in das companhias aéreas. A maior parte
destes longos períodos de espera deve-se à deficiente afetação do pessoal do
NIA a diferentes áreas do aeroporto. A administração do NIA quer melhorar a
afetação de recursos, o que iria melhorar a satisfação dos clientes.
• As lojas de comércio e duty-free do aeroporto constituem uma parte significativa
das receitas. O NIA dispõe de uma série de grandes cartazes, onde são utilizadas
as informações dos clientes para oferecer algumas promoções ocasionais.
A administração do NIA gostaria de melhorar a participação dos clientes e,
consequentemente, as oportunidades de negócio nestas lojas do aeroporto.
134 | Casos de utilização de negócios
Desafios técnicos
Inexistência de uma fonte de informação centralizada: um dos principais problemas
que a CIO do NIA está a tentar resolver é o facto de o aeroporto não ter atualmente
uma fonte de informação centralizada em termos de origens de dados. Atualmente, o
aeroporto depende de relatórios de vários sistemas internos antigos e de parceiros. Em
geral, estes relatórios abrangem aspetos operacionais do dia e da semana anteriores e
têm números contraditórios. Por exemplo, os dados de voo estão atualmente na posse
das transportadoras aéreas individuais. O NIA tem mais de 35 companhias aéreas,
cada uma delas com os seus próprios sistemas e terminologias específicas, o que torna
extremamente difícil para a administração do NIA obter relatórios credíveis atempados,
quanto mais operações orientadas por dados.
O problema | 135
Latência na obtenção de dados e relatórios: como o NIA não detém o controlo sobre os
dados de voo e carga, depende dos parceiros para gerar, agregar e enviar os relatórios
das operações. Normalmente, estes relatórios sofrem atrasos de dias ou semanas,
reduzindo de forma significativa a capacidade da organização atuar com base nos
insights dos relatórios e obrigando o NIA a ser sempre reativo nas suas operações,
em vez de planear de antemão. Por exemplo, se for apresentado um relatório à
administração aeroportuária que mostra que houve longas filas responsáveis por
atrasos nos voos de ontem, a administração aeroportuária não pode alterar a situação
dado que já aconteceu há algum tempo. O acesso atempado a destes dados é essencial
para o NIA e quase todas as outras organizações.
O NIA está a perder mais de 350 milhões de dólares por ano devido a ineficiências
operacionais, incluindo longas filas, falta de pessoal e subutilização dos ativos do
aeroporto. A equipa de business intelligence do NIA irá trabalhar para fornecer
ferramentas de análise de dados (dashboards, relatórios e aplicações) que ajudam
o aeroporto a otimizar as operações e a remover ineficiências.
136 | Casos de utilização de negócios
Brainstorming do design
Depois de definir o problema e articular os desafios técnicos e empresariais, as
próximas secções irão ajudá-lo a explorar algumas ideias para encontrar um design
da solução para o NIA.
Origens de dados
Os dados estão no centro de qualquer solução de análise. Como tal, é necessário
começar por pensar nos diferentes tipos de dados que o NIA iria precisar. Em seguida,
deve pensar num design que reúna estes dados. O NIA necessita de recolher dados
a partir das seguintes origens:
• Feeds das redes sociais: para prestar um bom atendimento ao cliente, é essencial
que o NIA analise os sentimentos e os feedbacks dos passageiros, dado que
é expectável os passageiros utilizarem as plataformas de redes sociais para
partilhar as suas experiências. Deste modo, ajuda o NIA a melhorar os seus
serviços e a resolver imediatamente quaisquer problemas relacionados.
• Outras origens de dados: conforme explicado no Caso de utilização 1, é muito
comum na análise de dados melhorar os conjuntos de dados existentes com
outras origens externas de dados para fornecer mais contexto a quaisquer
tendências ou padrões identificados. Isto é especialmente verdade para as
operações aeroportuárias onde a situação pode ser fortemente afetada por dados
meteorológicos, temporadas festivas e outros fatores semelhantes. O NIA terá
de ingerir muitas destas origens de dados externas para complementar os seus
próprios dados operacionais.
Armazenamento de dados
O aeroporto estima que os dados existentes atuais rondem os 310 TB, o que não inclui
todos os dados dos parceiros que é necessário recolher e armazenar. Para além disso,
o aeroporto pretender extrair os itens de streaming das câmaras, bem como os feeds
das redes sociais, o que poderia adicionar mais 15 GB de dados por dia com base em
números históricos. Isto requer um serviço de armazenamento de dados de elevada
escalabilidade que possa adaptar-se de forma elástica aos volumes que aumentam
rapidamente. Para responder a este requisito, faz sentido utilizar um serviço baseado
na cloud, como o Azure Data Lake Storage, para assegurar a escalabilidade elástica
e a capacidade de armazenar dados em vários formatos.
Ingestão de dados
Para assegurar que os dados são disponibilizados de forma atempada ao pessoal do
aeroporto e aos clientes, devem ser ingeridos a partir de origens internas e externas
com rapidez e eficiência. Com base nas origens de dados que foram referidas, a solução
precisa de atender a várias formas de ingestão de dados, incluindo o carregamento
de dumps de ficheiros, o processamento de fluxos de dados em tempo real a partir
das redes sociais e das câmaras de monitorização, e a extração de dados através da
chamada de APIs externas. A equipa de dados do NIA pode criar a sua própria solução
de integração e ingestão, o que seria muito dispendioso e exigiria muito tempo de
desenvolvimento, ou utilizar uma ferramenta de ingestão e orquestração de dados
baseada na cloud, como o Azure Data Factory (ADF). O ADF simplifica o processo de
ingestão de dados oferecendo mais de 80 conectores de dados pré-criados, que podem
ser utilizados para se integrar com uma variedade de sistemas de origem, tais como
bases de dados de SQL, armazenamento de blobs e ficheiros simples.
138 | Casos de utilização de negócios
A solução
Com a ajuda da equipa de business intelligence, Zara, a CIO do NIA, concordou
em utilizar o Microsoft Azure como fornecedor de cloud para criar a nova solução.
Resumiram o seu raciocínio do modo que explicamos em seguida.
Arquitetura da solução
Agora que a equipa de BI aperfeiçoou os requisitos e foi escolhida uma plataforma de
cloud, chegou o momento de criar um design seguro e escalável. A equipa de business
intelligence do NIA optou pela seguinte arquitetura da solução:
O design na Figura 4.6 ilustra a arquitetura da solução e o fluxo de dados entre os seus
componentes individuais. Eis uma explicação para cada um dos segmentos do workflow,
conforme assinalado (numerado) no diagrama:
1. Os dados estruturados como os Dados das Companhias Aéreas, Dados Aduaneiros
e Dados de Bagagens são ingeridos utilizando o Azure Data Factory. Isto inclui
outras origens de dados, tais como dados dos sistemas de estacionamento e dados
meteorológicos. O ADF oferece a capacidade ao NIA de configurar um runtime de
integração que pode ser utilizado como um gateway para se ligar às origens de
dados on-premises do NIA a partir do Azure.
2. Todos os dados não estruturados, incluindo dados de Sensores de IoT, streaming de
Vídeo de Tráfego e feeds das Redes Sociais serão ingeridos utilizando os Azure Event
Hubs, o que fornece a captura direta de dados ao Azure Data Lake Storage Gen2.
Arquitetura da solução | 141
3. O Azure Data Factory envia os dados estruturados ingeridos para o Azure Data
Lake Storage Gen2 para armazenamento.
4. A equipa de dados do NIA vai adotar o Azure Event Hubs para ingerir o streaming
de dados e capturar os dados ingeridos com rapidez e facilidade no Azure Data
Lake Storage Gen2. A equipa tira partido da funcionalidade de captura de dados
dos Azure Event Hubs para armazenar os dados no data lake.
5. Utilizando blocos de notas, os engenheiros de dados do NIA poderão posteriormente
ler, limpar, transformar e modelar os dados utilizando o runtime do Apache Sparks no
Azure Synapse Analytics.
6. Os dados limpos que estão prontos a ser consumidos são posteriormente enviados
do Azure Synapse para o Azure Cosmos DB. Isto inclui os mais recentes dados de
voo e de bagagem. As aplicações aeroportuárias e as APIs podem então retirar estes
dados diretamente do Cosmos DB para servir os passageiros e o pessoal.
7. O Power BI também está configurado para ler conjuntos de dados mais extensos
diretamente a partir do Azure Synapse. Exemplos dos dados que serão enviados
através deste mecanismo incluem os resultados da descodificação do fluxo de
vídeos de tráfego para criar mapas térmicos da multidão.
8. O Azure Machine Learning é utilizado para gerir os modelos de machine learning,
conjuntos de dados, experimentações e novas imagens de modelos. O Azure
Machine Learning tem integração nativa com o Azure Synapse Analytics.
9. O Azure Machine Learning é utilizado para treinar e criar modelos de machine
learning. Os modelos resultantes são armazenados como imagens do Docker no
Azure Container Registry. As imagens do Docker são normalmente utilizadas
como uma forma de empacotar modelos de machine learning com todas as suas
dependências (bibliotecas, código fonte e ficheiros de configuração) como um único
pacote implementável. Deste modo, melhora o ciclo de vida de desenvolvimento
e reduz os erros de implementação.
10. O Azure Kubernetes Service está a configurado com a implementação para tirar
as novas imagens do modelo de machine learning do Azure Container Registry
e executar pods de Kubernetes. Isto permite aos modelos de machine learning
gerar previsões mediante a execução de meras chamadas de HTTP. Exemplos
dos modelos de machine learning incluem um motor de recomendação para a
atribuição de portas de embarque e um modelo de machine learning de previsão
de procura de estacionamento.
142 | Casos de utilização de negócios
Serviços Azure
Tal como primeiro caso de utilização, as secções seguintes irão descrever cada um dos
serviços Azure que são ilustrados na Figura 4.6. Primeiro irão explicar por que cada
serviço é necessário, por que é adequado para o NIA, e depois, finalmente, mostram um
breve exemplo prático da principal parte da sua implementação. Para evitar repetições,
os serviços Azure que foram abrangidos no primeiro caso de utilização não serão
mencionados, a menos que o NIA tenha requisitos específicos para esse serviço.
config = {
"Endpoint": "https://NIAairport.documents.azure.com:443/",
"Masterkey": "{masterKey}",
"Database": "NIAAnalytics",
"Collection": "flights_data",
"Upsert": "true"
}
flightsDf.write.format("com.microsoft.azure.cosmosdb.spark").
options(**config).
save()
144 | Casos de utilização de negócios
Azure Cosmos DB
Função na estrutura
O Azure Cosmos DB serve dois objetivos principais: armazena todos os dados de
aplicações como o Passengers Hub e Airport Brain, sendo também utilizado para
servir dados organizados prontos a serem consumidos pelo pessoal do aeroporto
e intervenientes externos (como os passageiros).
• O Azure Cosmos DB fornece uma distribuição global chave na mão “out of the
box”, o que é ótimo para assegurar a disponibilidade e resiliência da plataforma
do NIA. Compreensivelmente, o NIA não pode permitir-se a tempo de inatividade
porque serve milhões de passageiros durante todo o ano. Assim, é necessário
a sua nova plataforma ter uma elevada disponibilidade que possa ser alimentada
pelo Azure Cosmos DB.
• A plataforma do NIA precisa de fornecer dados quase em tempo real. Como tal,
é importante reduzir a latência. O Azure Cosmos DB permite ao NIA ter uma
latência de milissegundos de um só dígito. A isto acresce o impressionante
SLA de 99,999% do Azure Cosmos DB.
• Conforme mencionado anteriormente, o NIA estima que o volume dos seus
dados atuais ultrapasse os 310 TB, com uma taxa de crescimento de 15 GB por
dia, sem incluir os dados provenientes de parceiros de companhias aéreas e
origens de dados externas, como de meteorologia e tráfego. Por estas razões, a
equipa escolheu o Azure Cosmos DB pela sua escalabilidade elástica e ilimitada.
O Azure Cosmos DB fornece ao NIA a escalabilidade necessária com a opção de
pagar apenas pela utilização em termos de armazenamento e débito de dados.
• O aeroporto dispõe atualmente de vários sistemas internos para conter os seus
dados atuais, incluindo servidores SQL e MongoDB. A equipa pretende ter uma
maior compatibilidade com todos os sistemas de origem existentes e permitir
que as aplicações existentes funcionem com a nova base de dados sem ter de
introduzir quaisquer alterações. O Azure Cosmos DB é a opção perfeita para
este requisito porque fornece um motor multimodelo com um endpoint de API
compatível com protocolo wire. Isto significa que as aplicações do NIA podem
ligar-se à mesma instância do Azure Cosmos DB utilizando vários controladores,
como MongoDB, SQL e Gremlin. Deste modo, o esforço de desenvolvimento e
implementação é simplificado porque utiliza as APIs dos mesmos controladores,
e reduz também o custo total de propriedade devido à margem da transferência
de conhecimentos e à redução da necessidade de reformulação de tarefas.
Serviços Azure | 145
2. O segundo fragmento de código efetua uma consulta semelhante, mas utiliza a API
MongoDB. Primeiro cria MongoClientSettings e, em seguida, MongoClient, que é
utilizado para obter uma referência ao Azure Cosmos DB. O código assume que nesta
altura as definições de configuração já foram efetuadas. O código cria uma referência
para o Azure Cosmos DB (NIAAnalytics) do NIA e consulta passengerCollection:
var settings = new MongoClientSettings();
MongoClient client = new MongoClient(settings);
var dbName = "NIAAnalytics";
var collectionName = "Passengers";
var database = client.GetDatabase(dbName);
var passengerCollection = database.
GetCollection<Passenger>(collectionName);
passengers = passengerCollection.Find(new BsonDocument()).ToList();
Exemplo de implementação
O Azure Machine Learning facilita a criação de versões, a monitorização e o trabalho
com várias versões de um conjunto de dados para fins de machine learning. O seguinte
fragmento de código cria primeiro um arquivo de dados para indicar ao Azure Machine
Learning onde deve armazenar os dados:
# creating a ref to Azure ML Service Workspace
import azureml.core
from azureml.core import Workspace, Datastore
ws = Workspace.from_config()
# Registering Azure Blob container as the datastore
datastore = Datastore.register_azure_blob_container(workspace=ws, datastore_
name='NIA_airport_datastore',
container_name='NIA_Analytics',
account_name={storageAccount},
account_key={storageAccountKey},
create_if_not_exists=True)
# get named datastore (if exist)
datastore = Datastore.get(ws, datastore_name='NIA_airport_datastore')
O fragmento de código anterior escrito em Python cria primeiro uma área de trabalho do
Azure Machine Learning a partir de um ficheiro de configuração existente. Em seguida, o
código cria um arquivo de dados registando um contentor do Azure Blob como o arquivo
de dados. No exemplo, o nome do arquivo de dados é NIA_airport_datastore e inclui
marcadores de posição para o nome e a chave da conta Azure Storage. Por fim, o exemplo
cria uma referência para um arquivo de dados que já existe utilizando o seu nome.
O seguinte fragmento de código regista um novo conjunto de dados e fornece um
nome, uma descrição e uma etiqueta para facilitar a localização deste conjunto de
dados no futuro:
passengers_ds = passengers_ds.register(workspace =ws,name='passengers_
dataset',description = 'passengers personal data and address',tags =
{'year': '2019'})
O seguinte fragmento de código obtém um conjunto de dados existente pelo nome e/ou
ID da versão. Isto é muito útil quando temos várias versões do mesmo conjunto de dados:
#get Passengers dataset by name
passengers_ds = ws.datasets['passengers_dataset']
Serviços Azure | 149
Exemplo de implementação
O código seguinte faz parte do modelo do Azure Resource Manager (ARM) que o NIA
utiliza para criar a instância do Azure Container Registry. Cria uma instância do Azure
Container Registry (camada Padrão) no datacenter do Norte da África do Sul do Azure.
O modelo também permite que a conta do Utilizador Administrador gira o registo.
O modelo do ARM tem dois parâmetros: um parâmetro para o nome do registo e outro
para a versão da API do ARM:
{ "resources": [
{
"name": "[parameters('registryName')]",
"type": "Microsoft.ContainerRegistry/registries",
"location": "South Africa North",
"apiVersion": "[parameters('registryApiVersion')]",
"sku": {
"name": "Standard"
},
"properties": {
"adminUserEnabled": "True"
}
}
]
}
Porquê o AKS?
• Gerir um cluster de computadores é uma tarefa difícil e é ainda mais difícil gerir
e configurar um cluster de Kubernetes, porque o serviço Kubernetes tem muitas
partes móveis e requer muita configuração. O AKS simplifica isto oferecendo
um cluster gerido, o que significa que o Microsoft Azure gere os nós principais
e a equipa do NIA só precisa de configurar e utilizar os nós subordinados para
implementar os seus workloads. Deste modo, as despesas gerais do NIA são
significativamente reduzidas.
• Utilizando conceitos como nó virtual e kubelet virtual, o AKS permite o NIA
para aprovisionar capacidade adicional de forma elástica em qualquer altura.
Esta abordagem é importante para o NIA, porque é muito difícil prever a carga
e a capacidade necessárias, pelo que é importante ter este aprovisionamento
elástico quando necessário.
• A integração nativa e o suporte para o AKS no Azure DevOps é outra vantagem
do AKS, simplificando a configuração e automatização das implementações dos
workloads do NIA no AKS. O AKS também tem integração nativa com serviços
como o Azure Monitor e Azure Key Vault.
• A equipa do NIA pode melhorar e acelerar a experiência de desenvolvimento
de ponta a ponta utilizando o suporte do Visual Studio Code para o AKS.
• Além da integração nativa com outros serviços Azure, o AKS integra-se
perfeitamente com o Azure Active Directory, o que significa que o NIA pode
melhorar a segurança tirando partido desta integração. Além disso, o NIA pode
usar o Azure Policy para impor a governação em toda a organização.
• O Azure fornece um grande suporte para ferramentas de open source,
como kubernetes, não só na cloud, mas também periféricas. A equipa do NIA
compreende que há cenários em que enviar a computação para a periferia pode
ser a melhor opção. Um exemplo disto é o seu plano de aproximar os modelos de
machine learning das câmaras de monitorização de tráfego para acionar alertas
quando ocorre um evento de segurança. O Microsoft Azure tem um bom suporte
para executar Kubernetes no Azure IoT Edge para tais cenários. Como tal, utilizar
o AKS será uma boa opção para futuros planos de enviar os modelos de machine
learning para a periferia utilizando o Kubernetes com Azure IoT Edge.
Exemplo de implementação
O fragmento de código faz parte do pipeline do Azure DevOps Services do NIA que
implementa a nova aplicação Web Airport Brain. O código tira partido do suporte do
Azure DevOps para Kubernetes utilizando o tipo de tarefa KubernetesManifest. A tarefa
implementa a imagem do Docker em nia/aiportbrain:lastest para o AKS pré-configurado
utilizando NIAairport_AksServiceConnection. O seguinte código tem um marcador de
posição para imagePullSecret, que é utilizado como mecanismo de autenticação para
retirar imagens do Azure Container para o objetivo de implementação (AKS):
152 | Casos de utilização de negócios
passos:
- task: "KubernetesManifest@0"
displayName: "Deploy AirportBrain to K8s"
inputs:
action: deploy
kubernetesServiceConnection: "NIAairport_AksServiceConnection"
namespace: "airportbrain"
manifests: "manifests/deployment.yml"
containers: 'nia/airportBrain:latest'
imagePullSecrets: |
$(imagePullSecret)
Power BI
Função na estrutura
Parte da estratégia da Zara para o relatório do NIA é incorporar o Power BI como
ferramenta de visualização no NIA. O Power BI pode ser utilizado para gerar relatórios
e dashboards e para fins de self-service. A equipa de BI espera também aproveitar a
capacidade do Power BI para ser incorporada noutras aplicações Web para reutilizar
visualizações do Power BI dentro de outras novas aplicações, como o Passenger Hub.
Porquê o Power BI?
Além de todas as vantagens do Power BI mencionados no Caso de utilização 1, os
relatórios e dashboards do Power BI podem ser incorporados noutras aplicações Web.
A equipa de business intelligence do NIA pretende tirar partido da simplicidade e do
poder dos elementos visuais do Power BI para criar os dashboards para as aplicações
Passenger Hub e Airport Brain. A utilização dos relatórios do Power BI incorporados
permite à equipa de business intelligence do NIA criar e enviar relatórios de forma
rápida e fácil, ao mesmo tempo que os serve de forma segura através das novas
aplicações Web do NIA.
Exemplo de implementação
No Power BI, pode incorporar qualquer relatório do Power BI em qualquer página web.
A partir do serviço Power BI, enquanto apresenta o relatório, clique na opção Partilhar
e, em seguida, selecione Incorporar relatório, seguido por Website ou Portal. É criada
uma caixa de diálogo que inclui o seu código incorporado para ser utilizado no site ou
portal do destino:
Serviços Azure | 153
A caixa de diálogo mostrará um código iFrame de HTNL que pode ser utilizado em qualquer
página Web de HTML. A caixa de diálogo seguinte permite aos membros da equipa do NIA
configurar as propriedades do código de iFrame, como a largura e a altura. Em seguida,
utilizando o código iFrame, o relatório pode ser incorporado em qualquer aplicação Web:
Serviços de suporte
O NIA pretende garantir que a nova solução é segura, dimensionável e tenha um
bom nível de monitorização e suporte. O Azure tem muitos serviços que permitem
a organizações como o NIA assegurar, dimensionar e monitorizar as suas soluções. Isto
inclui todos os serviços listados em caso de primeira utilização, como o Azure DevOps,
Azure Key Vault e Azure Monitor.
Insights e ações
O Azure ajudou o NIA a extrair insights significativos após análise e a implementar as
medidas necessárias, conforme é explicado nas secções seguintes.
Conclusão
Os aeroportos têm operações e procedimentos complexos, e funcionam 24 horas por
dia. Assim, mesmo a introdução de pequenas melhorias pode proporcionar grandes
poupanças para o aeroporto e melhorar a segurança e a satisfação dos clientes.
Nas páginas anteriores, estudou um exemplo prático de um grande aeroporto. Embora
os nomes sejam fictícios, muitos dos números aqui abordados baseiam-se num caso
de utilização real em que o autor esteve envolvido. Teve oportunidade de ver como
a análise avançada pode ser utilizada para melhorar a eficiência e poupar milhões
de dólares a uma organização. Os dados podem ser utilizados não só para ajudar
os aeroportos a pouparem nos custos operacionais, como também para criar uma
vantagem competitiva.
Analisou igualmente como uma solução orientada por dados pode ser implementada
com o Azure e por que motivo o Azure é a plataforma perfeita para executar esses
workloads. O Azure é acessível, seguro e proporciona agilidade e escalabilidade às
organizações.
Conclusão
5
Hoje em dia, os dados são o motor do sucesso empresarial. Todas as empresas estão
a utilizar os dados para tomar decisões de negócios. Graças ao enorme aumento de
dados gerados e recolhidos por organizações a partir de uma multiplicidade de origens
(sejam dados estruturados, semiestruturados ou não estruturados), o Azure Synapse
Analytics oferece um serviço de análise ilimitado que reúne a ingestão de dados, data
warehousing empresarial e a análise de big data.
A experiência unificada no Azure Synapse Analytics permite aos clientes criar soluções
de análise de ponta a ponta e realizar a ingestão de dados, a exploração de dados,
data warehousing, a análise de big data e tarefas de machine learning a partir de um
ambiente único e simplificado. O Azure Synapse fornece um meio promissor de analisar
os dados para obter insights em tempo real. Isto é essencial para tomar decisões de
negócio e delinear estratégias de negócio.
Este livro levou-o através de um percurso pela análise na nuvem com o Microsoft Azure
mostrando-lhe como pode criar o seu data warehouse com o Azure Synapse, processar
e visualizar dados, e criar soluções de análise de ponta a ponta utilizando o ambiente
unificado do Synapse Studio.
158 | Conclusão
Aprendeu a começar a utilizar o Azure Synapse criando uma área de trabalho através
do nosso guia passo a passo. Também demonstrámos como pode começar a criar a sua
solução analítica de ponta a ponta com as ferramentas do Synapse Studio. Explorámos
algumas das principais capacidades do Azure Synapse, incluindo o SQL sem servidor
on-demand. Com o SQL sem servidor on-demand, podemos efetuar instantaneamente
a exploração e a análise de dados utilizando a familiar sintaxe T-SQL sem ter de
aprovisionar recursos.
| 159
Palavras finais
O Azure Synapse reúne os mundos do data warehousing empresarial e da análise de
big data numa experiência unificada que o ajuda a acelerar o seu tempo até à obtenção
de insights. O modelo da cloud para data warehouses modernos não só é flexível e
dimensionável, mas também é rentável devido às suas propriedades elásticas exclusivas.
Os workloads analíticos são um cenário em que a elasticidade brilha verdadeiramente.
Com o Azure Synapse, profissionais de dados com diversas competências podem
colaborar, gerir e analisar os seus dados mais importantes com facilidade, tudo dentro
do mesmo serviço. Desde a integração do Apache Spark, com o potente e fidedigno
motor SQL, passando pela integração e gestão de dados sem código, o Azure Synapse
foi concebido para todos os profissionais de dados.
Agora que chegou ao fim deste livro, está munido dos conhecimentos dos serviços
e ferramentas que precisa para criar a sua própria solução completa de análise de
dados no Azure. A melhor forma de começar é aos poucos, integrando algumas das
tecnologias que este livro introduziu no seu workflow existente. Depois, adicionar
gradualmente mais capacidades no futuro à medida que as suas necessidades evoluem.
Boa sorte com o seu data warehouse moderno e o seu percurso de análise na cloud.
Na secção seguinte, indicamos recursos adicionais para aprendizagem adicional.
Todas as principais palavras-chave utilizadas neste livro estão registadas alfabeticamente nesta
secção. Cada uma é acompanhada pelo número de página da respetiva ocorrência.
A Apache: 23, 28, 31, 50-52,
65, 91, 93, 117-118, 138,
C
marca ABC: 108 141, 145, 147, 159-160 caches: 125
abstrair: 149 apiVersion: 150 colocação em cache:
acelerar: 2, 89, aplicado: 6, 135 15, 65, 71
94, 146, 160 abordagens: 13-14, 72 campanha: 130
acessível: 2, 4, 8, matrizes: 90 capacidade: 18,
12, 18, 89, 118 articular: 106,110 132-133, 151, 154
chave da conta: 120 artificial: 2, 6-8, 67, operadora: 134
contas: 20, 138 90, 103, 112, 133 Cassandra: 10
precisão: 6-9, 16, 94, avaliação: 11 categorias: 5-6, 92, 126
100, 103, 129, 133 ativos: 19, 32, 111, 118, central: 112, 114-115,
ativar: 64 132-133, 135, 142 119, 127, 142
ativo: 10-11, 44, 71-72, 96, atribuição: 154 canais: 92, 106-107, 113
115, 118, 125, 128, 138, 151 atributos: 111 chatbots: 26, 92
avançado: 11, 16, 31, 65, 69, audiência: 96 classificado: 11, 20
91, 115, 132, 147, 156, 159 automatizar: 92-94, limpeza: 146
agentes: 7 126-127, 146-147 cliques: 19, 28, 32
agregar: 96, 107, 134 automatizado: 8, 91, 158 cliente: 96, 146
alertas: 22, 70, 128, AutoML: 65, 91, 93-94, 147 cluster: 22, 71, 95, 114, 151
134, 142, 151 autónomo: 16 sem código: 28-29,
algoritmo: 6-7, 91, 94, 147 média: 49, 111, 130, 132 60, 158, 160
alocação: 133, 146 AzureML: 148 codificação: 94, 96
Amazon: 160 cognitivo: 7, 89, 92
análise: 2-4, 6-7, 20, 56,
59, 69, 90-92, 94,
B comando: 93
comissão: 52
115, 136, 154, 158 back-end: 125 consolidar: 64
análise: 1-2, 4-5, 7-12, benchmark: 117 compatível: 111, 118, 149
14-17, 20, 22-24, 26-34, BigQuery: 160 concorrente: 5, 109
36, 41-43, 50, 59, Blueprints: 147 compilar: 3
64-65, 67-74, 76-77, criar: 120, 149 conformidade: 30, 112,
82-83, 89, 91-96, incorporado: 69, 74, 77, 95 115, 119, 125-126, 139
103, 105-106, 112-118, negócio: 1-2, 4-10, 12, componente: 114
128-129, 131-133, 14, 16, 19, 21-22, 24, calcular: 6, 18, 30,
135-139, 141-142, 145, 26, 28-29, 32, 65, 68, 71, 95, 100-101,
147-148, 154, 156-160 71, 91, 103, 105-106, 138-139, 142, 147
analisar: 3, 13, 15, 17-18, 24, 109, 112, 114, 117, 124, computadores: 68, 95, 151
28, 50, 56, 59-60, 109, 126, 129-136, 138-140, computação: 1, 9,
128, 136-137, 159-160 142-147, 149, 152, 12, 18, 147, 151
anomalias: 5, 20 154-155, 157-159 simultaneidade: 23
condições: 76, 110-111, 128 conjunto de dados: fazer download: 70, 83
config: 143, 148 4-6, 13, 16, 19, 47, tempo de inatividade:
configurar: 63, 101, 122, 52-53, 70, 75-77, 13, 15, 144
140, 149, 151, 153 79, 82-84, 100, 102, Dresner: 1
configurado: 14, 141, 146 109-110, 121-122, 148 motores: 14, 26,
congestionamento: arquivo de dados: 148 144-145, 158
132, 134, 155 DateId: 46 impulsionar: 7, 14, 16, 157
ligar: 45, 83, 94, 114, dbName: 146 lista pendente-down: 77
119-120, 140, 143-144 decidir: 147 duty-free: 133, 155
ligação: 22, 72, 84, predefinição: 38-39, dinâmica: 7, 20, 65
122, 127, 143 55-56, 58, 67
conector: 143
ligação através: 120, 122
definição: 148
atrasos: 132-135, 142, 154
E
consola: 145 eliminar: 15, 103 ecossistema: 3, 67,
consumidor: 3, 71, 96, 106 DenseNet: 96, 99 89-91, 93
contentor: 93, 95, 97, implementar: 13, 68, eficiência: 5, 154, 156
141, 145, 148-151 93-94, 103, 110, 127-129, elástico: 71, 111, 115,
Cortana: 7, 26, 92 142, 147, 152, 154 137-138, 144, 151, 160
Cosmos: 10, 141-146 implementação: 30, incorporado: 5,
Cosmos DB: 143 94-95, 127, 139, 141, 69, 152-153
COVID-19: 72, 75, 144, 149, 151-152 codificar: 5
77, 79, 84, 87 estrutura: 68, 106, 110, encontrar: 64, 71, 105
organizado: 32, 77, 142, 144 112-115, 117, 119, 124, 126, encriptação: 11,
personalizado: 23, 128, 132, 136, 140, 142, 115, 118, 127
69-70, 125, 140, 145 144, 146, 149-150, 152 ponta a ponta: 9-10,
cliente: 1, 6, 11, 16, 19, 30, estruturador: 94, 96, 99 29-30, 41, 65, 93-94,
106-108, 110-111, 114, 116, ambiente de trabalho: 127, 151, 157-159
131-134, 137, 139, 156 24, 67-69, 72, 83, motor: 28, 96, 117, 141-142,
personalizado: 3 85-86, 91-92, 103, 124 144, 149, 154, 159-160
desenvolver: 45, 54, 56, engenheiros: 8, 10, 13, 15,
D 58, 61, 71, 82, 112, 119
programador: 29, 118, 139
18, 21-22, 41, 65, 70, 89,
114, 116-118, 138, 141, 143
dashboard: 25, 68-70, dispositivo: 5, 89, 142 empresa: 9, 28, 41, 69-70,
89, 129-130, 142 DevTest: 14 115, 139, 157, 160
base de dados: 5, 11, 14-19, digital: 7, 14, 106-107, entidades: 94
21, 23, 32, 44, 50, 54-56, 110, 113 entradas: 90
70-71, 74-77, 79, 82-83, diretamente: 19, 71, 89, equipamento: 133
89-90, 120, 122-123, 93, 108, 141, 145, 155 erros: 20, 128, 141, 150
126, 143-144, 146 apresentar: 56, 72, estimado: 129-130,
Databricks: 89, 93-95 79, 81, 84, 86 133, 154-155
datacenter: 135, 139, 150 Docker: 13, 95, 141, 149-151 avaliação: 100
DataFrame: 53.143 domínio: 114 eventos: 107
DataOps: 2, 8, 26, 158 execução: 64, 79
exercício: 77, 97,
100, 103, 118
H integrado: 32, 41,
65, 69, 117
experimentação: Hadoop: 22 interface: 8, 18, 41, 68,
54, 100-102 processar: 4, 15, 26, 93-94, 119, 149
explorar: 8, 16, 22, 28, 41, 109, 115, 143
44, 47, 50, 65, 72, 87, 89,
92, 103, 114-115, 124, 135
hardware: 15, 90, 93
hashtag: 130
J
expandido: 92 híbrida: 14, 113, 119 Jupyter: 94-95, 145
extensível: 91 justificar: 139
extensivo: 141
I
externos: 69-70, 85,
135-137, 144, 159 identificado: 21, 137
K
identidades: 125 Kubelet: 151
F identidade: 10, 92,
127-128, 138
Kubernetes: 13, 95,
141-142, 149-151
instalações: 136, 155 iFrame: 153
fator: 5, 7, 147
funcionalidade: 23, 64,
implementar: 30, 87,
90-91, 103, 112, 128, 159
L
69, 94-96, 114, 119, importar: 84-85, etiquetas: 6, 70
125, 141-142, 145-146 94, 125, 148 linguagem: 29, 31,
feedback: 25, 70, indicadores: 106 55-56, 58, 92, 108
108, 124, 137 ingestão: 21-22, 30, 32, esquema: 154-155
nome de ficheiro: 20 108, 110, 116-117, 137, 157 aprendizagem: 2, 6-8,
sistema de ficheiros: 121 inerente: 6 10, 13, 16-17, 23, 26,
filtros: 23 entradas: 123, 152 28-32, 65, 67, 70,
firewall: 11 inserir: 19, 70 89-99, 101, 103, 112,
nome próprio: 145 insights: 2, 4-5, 7, 9, 17, 125, 131, 138, 141-143,
pasta: 76 22-23, 28-29, 31-32, 146-151, 154, 157-160
caminho da pasta: 121 65, 67-68, 86, 97, licença: 72, 124
pegada: 14 103, 105-109, 119, 126, ciclo de vida: 30
formato: 5, 19-22, 70, 77, 128, 131, 134-136, 138, ligado: 28, 52-53, 60,
86, 95, 108, 111, 115, 143 154, 157, 159-160 72-74, 76, 83, 96,
arquitetura: 89, 91-93 instalado: 9-10, 91, 110, 136 120-122, 159
função: 6, 10 instância: 4, 6-7, 13-15, lógico: 14, 60
funcional: 120 17, 23, 95, 97, 107-108, logicamente: 13
111, 115, 127-128, 134, logística: 5
G 143-144, 149-150
integrar: 60-61, 89, 92-93,
pouco código: 94