Esta postagem foi co-escrita com Preshen Goobiah e Johan Olivier da Capitec.
Apache Spark é um sistema de processamento distribuído de código aberto amplamente utilizado, conhecido por lidar com cargas de trabalho de dados em grande escala. Ele encontra aplicação frequente entre os desenvolvedores Spark que trabalham com Amazon EMR, Amazon Sage Maker, Cola AWS e aplicativos Spark personalizados.
Amazon RedShift oferece integração perfeita com o Apache Spark, permitindo que você acesse facilmente os dados do Redshift em clusters provisionados do Amazon Redshift e Sem servidor Amazon Redshift. Essa integração expande as possibilidades de soluções analíticas e de aprendizado de máquina (ML) da AWS, tornando o data warehouse acessível a uma gama mais ampla de aplicações.
Com o Integração do Amazon Redshift para Apache Spark, você pode começar a desenvolver rapidamente e sem esforço aplicações Spark usando linguagens populares como Java, Scala, Python, SQL e R. Suas aplicações podem ler e gravar perfeitamente em seu data warehouse do Amazon Redshift, mantendo o desempenho ideal e a consistência transacional. Além disso, você se beneficiará de melhorias de desempenho por meio de otimizações de empilhamento, aumentando ainda mais a eficiência de suas operações.
Capitec, o maior banco de retalho da África do Sul, com mais de 21 milhões de clientes de banca de retalho, tem como objectivo fornecer serviços financeiros simples, económicos e acessíveis, a fim de ajudar os sul-africanos a bancar melhor para que possam viver melhor. Nesta postagem, discutimos a integração bem-sucedida do conector Amazon Redshift de código aberto pela equipe de plataforma de recursos de serviços compartilhados da Capitec. Como resultado da utilização da integração do Amazon Redshift para Apache Spark, a produtividade do desenvolvedor aumentou em um fator de 10, os pipelines de geração de recursos foram simplificados e a duplicação de dados foi reduzida a zero.
A oportunidade de negócio
Existem 19 modelos preditivos disponíveis para utilização de 93 recursos criados com AWS Glue nas divisões de crédito de varejo da Capitec. Os registros de recursos são enriquecidos com fatos e dimensões armazenados no Amazon Redshift. O Apache PySpark foi selecionado para criar recursos porque oferece um mecanismo rápido, descentralizado e escalonável para organizar dados de diversas fontes.
Esses recursos de produção desempenham um papel crucial ao permitir solicitações de empréstimo com prazo fixo em tempo real, solicitações de cartão de crédito, monitoramento mensal do comportamento de crédito em lote e identificação de salário diário em lote dentro da empresa.
O problema da fonte de dados
Para garantir a confiabilidade dos pipelines de dados do PySpark, é essencial ter dados consistentes em nível de registro de tabelas dimensionais e de fatos armazenados no Enterprise Data Warehouse (EDW). Essas tabelas são então unidas às tabelas do Enterprise Data Lake (EDL) em tempo de execução.
Durante o desenvolvimento de recursos, os engenheiros de dados exigem uma interface perfeita para o EDW. Essa interface permite acessar e integrar os dados necessários do EDW nos pipelines de dados, permitindo desenvolvimento e teste eficientes de recursos.
Processo de solução anterior
Na solução anterior, os engenheiros de dados da equipe de produto gastavam 30 minutos por execução para expor manualmente os dados do Redshift ao Spark. As etapas incluíram o seguinte:
- Construa uma consulta predicada em Python.
- submeter um DESCARREGAR consulta através do API de dados Amazon Redshift.
- Catalogue dados no AWS Glue Data Catalog por meio do AWS SDK for Pandas usando amostragem.
Essa abordagem apresentava problemas para grandes conjuntos de dados, exigia manutenção recorrente da equipe da plataforma e era complexa para automatizar.
Visão geral da solução atual
A Capitec conseguiu resolver esses problemas com a integração do Amazon Redshift para Apache Spark em pipelines de geração de recursos. A arquitetura é definida no diagrama a seguir.
O fluxo de trabalho inclui as seguintes etapas:
- Bibliotecas internas são instaladas no trabalho AWS Glue PySpark por meio de AWS CodeArtifact.
- Um trabalho do AWS Glue recupera credenciais de cluster do Redshift de Gerenciador de segredos da AWS e configura a conexão do Amazon Redshift (injeta credenciais de cluster, locais de descarregamento, formatos de arquivo) por meio da biblioteca interna compartilhada. A integração do Amazon Redshift para Apache Spark também oferece suporte ao uso Gerenciamento de acesso e identidade da AWS (IAM) para recuperar credenciais e conectar-se ao Amazon Redshift.
- A consulta do Spark é traduzida em uma consulta otimizada do Amazon Redshift e enviada ao EDW. Isso é conseguido pela integração do Amazon Redshift para Apache Spark.
- O conjunto de dados EDW é descarregado em um prefixo temporário em um Serviço de armazenamento simples da Amazon (Amazon S3).
- O conjunto de dados EDW do bucket S3 é carregado nos executores do Spark por meio da integração do Amazon Redshift para Apache Spark.
- O conjunto de dados EDL é carregado nos executores do Spark por meio do AWS Glue Data Catalog.
Esses componentes trabalham juntos para garantir que os engenheiros de dados e os pipelines de dados de produção tenham as ferramentas necessárias para implementar a integração do Amazon Redshift para Apache Spark, executar consultas e facilitar o descarregamento de dados do Amazon Redshift para o EDL.
Usar a integração do Amazon Redshift para Apache Spark no AWS Glue 4.0
Nesta seção, demonstramos a utilidade da integração do Amazon Redshift para Apache Spark enriquecendo uma tabela de solicitação de empréstimo residente no data lake S3 com informações do cliente do data warehouse do Redshift no PySpark.
A dimclient
tabela no Amazon Redshift contém as seguintes colunas:
- Chave do Cliente – INT8
- ClienteAltKey – VARCHAR50
- Número de identificação da festa – VARCHAR20
- ClienteCreateDate - DATA
- É cancelado – INT2
- Linha é atual – INT2
A loanapplication
tabela no AWS Glue Data Catalog contém as seguintes colunas:
- ID do registro – GRANDE
- Data de registro – TIMESTAMP
- Número de identificação da festa - CORDA
A tabela do Redshift é lida por meio da integração do Amazon Redshift para Apache Spark e armazenada em cache. Veja o seguinte código:
Os registros de solicitação de empréstimo são lidos no data lake S3 e enriquecidos com o dimclient
tabela sobre informações do Amazon Redshift:
Como resultado, o registro do pedido de empréstimo (do data lake S3) é enriquecido com o ClientCreateDate
coluna (do Amazon Redshift).
Como a integração do Amazon Redshift para Apache Spark resolve o problema de fonte de dados
A integração do Amazon Redshift para Apache Spark resolve efetivamente o problema de fonte de dados por meio dos seguintes mecanismos:
- Leitura na hora certa – A integração do Amazon Redshift para o conector Apache Spark lê tabelas do Redshift just-in-time, garantindo a consistência dos dados e do esquema. Isto é particularmente valioso para Dimensão de mudança lenta tipo 2 (SCD) e intervalo de tempo acumulando fatos instantâneos. Ao combinar essas tabelas do Redshift com as tabelas do sistema de origem do AWS Glue Data Catalog do EDL nos pipelines de produção do PySpark, o conector permite a integração perfeita de dados de várias fontes, mantendo a integridade dos dados.
- Consultas Redshift otimizadas – A integração do Amazon Redshift para Apache Spark desempenha um papel crucial na conversão do plano de consulta do Spark em uma consulta otimizada do Redshift. Este processo de conversão simplifica a experiência de desenvolvimento para a equipe de produto, aderindo ao princípio da localidade dos dados. As consultas otimizadas usam os recursos e otimizações de desempenho do Amazon Redshift, garantindo recuperação e processamento eficientes de dados do Amazon Redshift para pipelines PySpark. Isso ajuda a agilizar o processo de desenvolvimento e, ao mesmo tempo, melhora o desempenho geral das operações de fornecimento de dados.
Obtendo o melhor desempenho
A integração do Amazon Redshift para Apache Spark aplica automaticamente predicados e pushdown de consulta para otimizar o desempenho. Você pode obter melhorias de desempenho usando o formato Parquet padrão usado para descarregamento com esta integração.
Para obter detalhes adicionais e exemplos de código, consulte Novo – Integração do Amazon Redshift com Apache Spark.
Benefícios da Solução
A adoção da integração rendeu vários benefícios significativos para a equipe:
- Maior produtividade do desenvolvedor – A interface PySpark fornecida pela integração aumentou a produtividade do desenvolvedor em um fator de 10, permitindo uma interação mais tranquila com o Amazon Redshift.
- Eliminação da duplicação de dados – Tabelas Redshift catalogadas duplicadas e do AWS Glue no data lake foram eliminadas, resultando em um ambiente de dados mais simplificado.
- Carga EDW reduzida – A integração facilitou o descarregamento seletivo de dados, minimizando a carga no EDW ao extrair apenas os dados necessários.
Ao usar a integração do Amazon Redshift para Apache Spark, a Capitec abriu caminho para um melhor processamento de dados, maior produtividade e um ecossistema de engenharia de recursos mais eficiente.
Conclusão
Nesta postagem, discutimos como a equipe Capitec implementou com sucesso a integração Apache Spark Amazon Redshift para Apache Spark para simplificar seus fluxos de trabalho de computação de recursos. Eles enfatizaram a importância da utilização de pipelines de dados PySpark descentralizados e modulares para criar recursos de modelos preditivos.
Atualmente, a integração do Amazon Redshift para Apache Spark é utilizada por 7 pipelines de dados de produção e 20 pipelines de desenvolvimento, demonstrando sua eficácia no ambiente da Capitec.
No futuro, a equipe de plataforma de recursos de serviços compartilhados da Capitec planeja expandir a adoção da integração do Amazon Redshift para Apache Spark em diferentes áreas de negócios, com o objetivo de aprimorar ainda mais os recursos de processamento de dados e promover práticas eficientes de engenharia de recursos.
Para obter informações adicionais sobre como usar a integração do Amazon Redshift para Apache Spark, consulte os seguintes recursos:
Sobre os autores
Preshen Goobiah é o engenheiro líder de aprendizado de máquina da plataforma de recursos da Capitec. Ele está focado em projetar e construir componentes do Feature Store para uso empresarial. Nas horas vagas gosta de ler e viajar.
Johan Oliver é engenheiro sênior de aprendizado de máquina da plataforma modelo da Capitec. Ele é um empreendedor e entusiasta da solução de problemas. Ele gosta de música e socializar nas horas vagas.
Sudipta Bagchi é arquiteto de soluções especialista sênior na Amazon Web Services. Ele tem mais de 12 anos de experiência em dados e análises e ajuda os clientes a projetar e construir soluções analíticas escaláveis e de alto desempenho. Fora do trabalho, ele adora correr, viajar e jogar críquete. Conecte-se com ele em LinkedIn.
Syed Humair é arquiteto de soluções especialista em análise sênior na Amazon Web Services (AWS). Ele tem mais de 17 anos de experiência em arquitetura empresarial com foco em dados e IA/ML, ajudando clientes da AWS em todo o mundo a atender seus requisitos técnicos e de negócios. Você pode se conectar com ele em LinkedIn.
Vuyisa Maswana é arquiteto de soluções sênior na AWS, baseado na Cidade do Cabo. A Vuyisa tem um forte foco em ajudar os clientes a criar soluções técnicas para resolver problemas de negócios. Ele apoia a Capitec em sua jornada na AWS desde 2019.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/big-data/simplifying-data-processing-at-capitec-with-amazon-redshift-integration-for-apache-spark/
- :tem
- :é
- $UP
- 06
- 1
- 10
- 100
- 12
- 16
- 17
- 19
- 20
- 2019
- 30
- 7
- a
- Capaz
- Acesso
- acessível
- realizado
- em
- Adicional
- Informação adicional
- Adicionalmente
- endereço
- endereços
- aderente
- Adoção
- acessível
- AI / ML
- Visando
- visa
- Permitindo
- permite
- tb
- Amazon
- Amazon Web Services
- Amazon Web Services (AWS)
- entre
- an
- analítica
- e
- apache
- Apache Spark
- Aplicação
- aplicações
- aplica
- abordagem
- arquitetura
- SOMOS
- áreas
- AS
- At
- automatizar
- automaticamente
- AWS
- Cola AWS
- Bank
- Bancário
- baseado
- Porque
- comportamento
- beneficiar
- Benefícios
- MELHOR
- Melhor
- entre
- O maior
- Impulsionado
- ambos
- mais amplo
- construir
- Prédio
- construído
- negócio
- by
- CAN
- capacidades
- capa
- cartão
- catálogo
- mudança
- cliente
- clientes
- Agrupar
- CO
- código
- Coluna
- colunas
- combinando
- integrações
- componentes
- computação
- Contato
- da conexão
- consistente
- contém
- contexto
- Conversão
- conversão
- crio
- Criar
- Credenciais
- crédito
- cartão de crédito
- Grilo
- crucial
- personalizadas
- Clientes
- diariamente
- dados,
- lago data
- informática
- data warehouse
- conjuntos de dados
- Descentralizada
- Padrão
- definido
- demonstrar
- Design
- concepção
- detalhes
- desenvolver
- Developer
- desenvolvedores
- Desenvolvimento
- diferente
- Dimensão
- dimensões
- discutir
- discutido
- distribuído
- diferente
- facilmente
- ecossistema
- efetivamente
- eficácia
- eficiência
- eficiente
- sem esforço
- eliminado
- enfatizado
- permite
- permitindo
- engenheiro
- Engenharia
- Engenheiros
- aumentar
- aprimorando
- enriquecido
- enriquecedor
- garantir
- assegurando
- Empreendimento
- entusiasta
- Empreendedor
- Meio Ambiente
- essencial
- Éter (ETH)
- existente
- Expandir
- expande
- vasta experiência
- facilitar
- facilitado
- fato
- fator
- fatos
- RÁPIDO
- Característica
- Funcionalidades
- Envie o
- financeiro
- serviços financeiros
- encontra
- Foco
- focado
- focando
- seguinte
- Escolha
- formato
- para a frente
- freqüente
- da
- funções
- mais distante
- Ganho
- geração
- ter
- GitHub
- Globalmente
- Manipulação
- Ter
- he
- ajudar
- ajuda
- ajuda
- ele
- sua
- Como funciona o dobrador de carta de canal
- HTML
- http
- HTTPS
- IAM
- identificação
- Identidade
- executar
- implementado
- importar
- importância
- melhorado
- melhorias
- in
- incluído
- inclui
- aumentou
- INFORMAÇÕES
- integrar
- integração
- integridade
- interação
- Interface
- interno
- para dentro
- questões
- IT
- ESTÁ
- Java
- Trabalho
- juntar
- ingressou
- viagem
- lago
- Idiomas
- grande
- em grande escala
- conduzir
- aprendizagem
- esquerda
- bibliotecas
- Biblioteca
- como
- viver
- carregar
- empréstimo
- locais
- ama
- máquina
- aprendizado de máquina
- manutenção
- manutenção
- Fazendo
- maneira
- manualmente
- mecanismo
- mecanismos
- milhão
- minimizando
- minutos
- ML
- modelo
- modelos
- modulares
- monitoração
- mensal
- mais
- mais eficiente
- múltiplo
- Música
- necessário
- of
- Oferece
- oliva
- on
- só
- aberto
- open source
- Operações
- ideal
- Otimize
- otimizado
- ordem
- lado de fora
- Acima de
- global
- pandas
- particularmente
- Senha
- para
- atuação
- plano
- planos
- plataforma
- platão
- Inteligência de Dados Platão
- PlatãoData
- Jogar
- jogar
- desempenha
- Popular
- colocada
- possibilidades
- Publique
- práticas
- preditivo
- anterior
- princípio
- Problema
- Solução de problemas
- problemas
- processo
- em processamento
- Produto
- Produção
- produtividade
- a promover
- fornecer
- fornecido
- Python
- consultas
- rapidamente
- R
- alcance
- Leia
- Leitura
- em tempo real
- registro
- registros
- recorrente
- Reduzido
- referir
- confiabilidade
- Famoso
- requerer
- requeridos
- Requisitos
- resolver
- Recursos
- resultar
- resultando
- varejo
- Banca de Retalho
- Tipo
- Execute
- corrida
- salário
- SC
- Scala
- escalável
- escopo
- Sdk
- desatado
- sem problemas
- segredos!
- Seção
- Vejo
- selecionado
- selecionando
- seletivo
- senior
- Serviços
- Conjuntos
- vários
- compartilhado
- apresentando
- periodo
- simples
- simplificar
- simplificando
- desde
- Lentamente
- mais suave
- Instantâneo
- So
- socializar
- solução
- Soluções
- RESOLVER
- Resolve
- fonte
- Fontes
- Origem
- Sul
- Faísca
- especialista
- gasto
- SQL
- começado
- Passos
- armazenamento
- armazenadas
- simplificar
- simplificada
- Tanga
- mais forte,
- apresentado
- bem sucedido
- entraram com sucesso
- Suportado
- suportes
- .
- mesa
- Profissionais
- Dados Técnicos:
- temporário
- ensaio
- que
- A
- A fonte
- deles
- Eles
- então
- Este
- deles
- isto
- Através da
- tempo
- para
- juntos
- ferramentas
- cidade
- transacional
- Viagens
- URL
- usar
- usava
- utilização
- utilidade
- utilizado
- Utilizando
- Valioso
- via
- Armazém
- foi
- Caminho..
- we
- web
- serviços web
- foram
- enquanto
- de
- dentro
- Atividades:
- trabalhar juntos
- de gestão de documentos
- fluxos de trabalho
- trabalhar
- escrever
- anos
- rendido
- Você
- investimentos
- zefirnet
- zero