Esta publicación está coescrita con Preshen Goobiah y Johan Olivier de Capitec.
Apache Spark es un sistema de procesamiento distribuido de código abierto ampliamente utilizado y reconocido por manejar cargas de trabajo de datos a gran escala. Encuentra aplicaciones frecuentes entre los desarrolladores de Spark que trabajan con EMR de Amazon, Amazon SageMaker, Pegamento AWS y aplicaciones Spark personalizadas.
Desplazamiento al rojo de Amazon ofrece una integración perfecta con Apache Spark, lo que le permite acceder fácilmente a sus datos de Redshift tanto en los clústeres aprovisionados de Amazon Redshift como en Amazon Redshift sin servidor. Esta integración amplía las posibilidades de las soluciones de análisis y aprendizaje automático (ML) de AWS, haciendo que el almacén de datos sea accesible para una gama más amplia de aplicaciones.
Con la Integración de Amazon Redshift para Apache Spark, puede comenzar rápidamente y desarrollar aplicaciones Spark sin esfuerzo utilizando lenguajes populares como Java, Scala, Python, SQL y R. Sus aplicaciones pueden leer y escribir sin problemas en su almacén de datos de Amazon Redshift mientras mantienen un rendimiento óptimo y coherencia transaccional. Además, se beneficiará de mejoras de rendimiento a través de optimizaciones pushdown, lo que mejorará aún más la eficiencia de sus operaciones.
Capitec, el banco minorista más grande de Sudáfrica con más de 21 millones de clientes de banca minorista, tiene como objetivo brindar servicios financieros simples, asequibles y accesibles para ayudar a los sudafricanos a realizar operaciones bancarias mejor para que puedan vivir mejor. En esta publicación, analizamos la integración exitosa del conector de código abierto Amazon Redshift por parte del equipo de plataforma de funciones de servicios compartidos de Capitec. Como resultado de utilizar la integración de Amazon Redshift para Apache Spark, la productividad de los desarrolladores aumentó en un factor de 10, se optimizaron los procesos de generación de funciones y la duplicación de datos se redujo a cero.
La oportunidad de negocio
Hay 19 modelos predictivos disponibles para utilizar 93 funciones creadas con AWS Glue en todas las divisiones de crédito minorista de Capitec. Los registros de características se enriquecen con hechos y dimensiones almacenados en Amazon Redshift. Se seleccionó Apache PySpark para crear funciones porque ofrece un mecanismo rápido, descentralizado y escalable para gestionar datos de diversas fuentes.
Estas características de producción desempeñan un papel crucial al permitir solicitudes de préstamos a plazo fijo en tiempo real, solicitudes de tarjetas de crédito, monitoreo del comportamiento crediticio mensual por lotes e identificación de salarios diarios por lotes dentro de la empresa.
El problema del abastecimiento de datos
Para garantizar la confiabilidad de las canalizaciones de datos de PySpark, es esencial tener datos consistentes a nivel de registro de tablas dimensionales y de hechos almacenados en Enterprise Data Warehouse (EDW). Luego, estas tablas se unen con tablas de Enterprise Data Lake (EDL) en tiempo de ejecución.
Durante el desarrollo de funciones, los ingenieros de datos necesitan una interfaz perfecta con el EDW. Esta interfaz les permite acceder e integrar los datos necesarios del EDW en las canalizaciones de datos, lo que permite un desarrollo y prueba eficientes de funciones.
Proceso de solución anterior
En la solución anterior, los ingenieros de datos del equipo de producto dedicaron 30 minutos por ejecución para exponer manualmente los datos de Redshift a Spark. Los pasos incluyeron lo siguiente:
- Construya una consulta predicada en Python.
- presentar una DESCARGAR consulta a través del API de datos de Amazon Redshift.
- Catalogar datos en AWS Glue Data Catalog a través de AWS SDK para Pandas mediante muestreo.
Este enfoque planteaba problemas para grandes conjuntos de datos, requería un mantenimiento recurrente por parte del equipo de la plataforma y era complejo de automatizar.
Descripción general de la solución actual
Capitec pudo resolver estos problemas con la integración de Amazon Redshift para Apache Spark dentro de los canales de generación de funciones. La arquitectura se define en el siguiente diagrama.
El flujo de trabajo incluye los siguientes pasos:
- Las bibliotecas internas se instalan en el trabajo de AWS Glue PySpark a través de Código de AWS Artifact.
- Un trabajo de AWS Glue recupera las credenciales del clúster de Redshift de Director de secretos de AWS y configura la conexión de Amazon Redshift (inyecta credenciales de clúster, ubicaciones de descarga, formatos de archivos) a través de la biblioteca interna compartida. La integración de Amazon Redshift para Apache Spark también admite el uso Gestión de identidades y accesos de AWS (IAM) a recuperar credenciales y conectarse a Amazon Redshift.
- La consulta Spark se traduce a una consulta optimizada de Amazon Redshift y se envía al EDW. Esto se logra mediante la integración de Amazon Redshift para Apache Spark.
- El conjunto de datos EDW se descarga en un prefijo temporal en un Servicio de almacenamiento simple de Amazon (Amazon S3) cubo.
- El conjunto de datos EDW del depósito S3 se carga en los ejecutores de Spark a través de la integración de Amazon Redshift para Apache Spark.
- El conjunto de datos EDL se carga en los ejecutores de Spark a través del catálogo de datos de AWS Glue.
Estos componentes trabajan juntos para garantizar que los ingenieros de datos y las canalizaciones de datos de producción tengan las herramientas necesarias para implementar la integración de Amazon Redshift para Apache Spark, ejecutar consultas y facilitar la descarga de datos de Amazon Redshift a la EDL.
Uso de la integración de Amazon Redshift para Apache Spark en AWS Glue 4.0
En esta sección, demostramos la utilidad de la integración de Amazon Redshift para Apache Spark al enriquecer una tabla de solicitud de préstamo que reside en el lago de datos de S3 con información del cliente del almacén de datos de Redshift en PySpark.
La dimclient
La tabla de Amazon Redshift contiene las siguientes columnas:
- Clave de cliente – INT8
- ClienteAltKey – VARCHAR50
- NúmeroIdentificadorPartido – VARCHAR20
- ClienteCrearFecha - FECHA
- Está cancelado – INT2
- La fila es actual – INT2
La loanapplication
La tabla del catálogo de datos de AWS Glue contiene las siguientes columnas:
- ID de registro - EMPEZANDO
- Fecha de registro – MARCA DE TIEMPO
- NúmeroIdentificadorPartido - CADENA
La tabla Redshift se lee a través de la integración de Amazon Redshift para Apache Spark y se almacena en caché. Vea el siguiente código:
Los registros de solicitud de préstamo se leen desde el lago de datos de S3 y se enriquecen con dimclient
tabla sobre información de Amazon Redshift:
Como resultado, el registro de solicitud de préstamo (del lago de datos S3) se enriquece con la ClientCreateDate
columna (de Amazon Redshift).
Cómo la integración de Amazon Redshift para Apache Spark resuelve el problema del abastecimiento de datos
La integración de Amazon Redshift para Apache Spark aborda eficazmente el problema del abastecimiento de datos a través de los siguientes mecanismos:
- Lectura justo a tiempo – La integración de Amazon Redshift para el conector Apache Spark lee las tablas de Redshift justo a tiempo, lo que garantiza la coherencia de los datos y el esquema. Esto es particularmente valioso para Tipo 2 dimensión que cambia lentamente (SCD) y período de tiempo que acumula datos instantáneos. Al combinar estas tablas de Redshift con las tablas del catálogo de datos de AWS Glue del sistema de origen de EDL dentro de las canalizaciones de producción de PySpark, el conector permite una integración perfecta de datos de múltiples fuentes mientras mantiene la integridad de los datos.
- Consultas optimizadas de desplazamiento al rojo – La integración de Amazon Redshift para Apache Spark desempeña un papel crucial a la hora de convertir el plan de consultas de Spark en una consulta de Redshift optimizada. Este proceso de conversión simplifica la experiencia de desarrollo para el equipo de producto al adherirse al principio de localidad de datos. Las consultas optimizadas utilizan las capacidades y optimizaciones de rendimiento de Amazon Redshift, lo que garantiza una recuperación y procesamiento de datos eficientes de Amazon Redshift para las canalizaciones de PySpark. Esto ayuda a agilizar el proceso de desarrollo y al mismo tiempo mejora el rendimiento general de las operaciones de abastecimiento de datos.
Obteniendo el mejor rendimiento
La integración de Amazon Redshift para Apache Spark aplica automáticamente la inserción de predicados y consultas para optimizar el rendimiento. Puede obtener mejoras de rendimiento utilizando el formato Parquet predeterminado utilizado para la descarga con esta integración.
Para obtener detalles adicionales y ejemplos de códigos, consulte Nuevo: integración de Amazon Redshift con Apache Spark.
Beneficios de la solución
La adopción de la integración generó varios beneficios importantes para el equipo:
- Productividad mejorada del desarrollador – La interfaz PySpark proporcionada por la integración aumentó la productividad de los desarrolladores en un factor de 10, lo que permitió una interacción más fluida con Amazon Redshift.
- Eliminación de la duplicación de datos. – Se eliminaron las tablas Redshift duplicadas y catalogadas por AWS Glue en el lago de datos, lo que resultó en un entorno de datos más optimizado.
- Carga EDW reducida – La integración facilitó la descarga selectiva de datos, minimizando la carga en el EDW extrayendo solo los datos necesarios.
Al utilizar la integración de Amazon Redshift para Apache Spark, Capitec ha allanado el camino para mejorar el procesamiento de datos, aumentar la productividad y un ecosistema de ingeniería de funciones más eficiente.
Conclusión
En esta publicación, analizamos cómo el equipo de Capitec implementó con éxito la integración de Apache Spark Amazon Redshift para Apache Spark para simplificar sus flujos de trabajo de cálculo de funciones. Destacaron la importancia de utilizar canales de datos de PySpark modulares y descentralizados para crear características de modelos predictivos.
Actualmente, la integración de Amazon Redshift para Apache Spark es utilizada por 7 canales de datos de producción y 20 canales de desarrollo, lo que demuestra su eficacia dentro del entorno de Capitec.
En el futuro, el equipo de plataforma de funciones de servicios compartidos de Capitec planea ampliar la adopción de la integración de Amazon Redshift para Apache Spark en diferentes áreas comerciales, con el objetivo de mejorar aún más las capacidades de procesamiento de datos y promover prácticas eficientes de ingeniería de funciones.
Para obtener información adicional sobre el uso de la integración de Amazon Redshift para Apache Spark, consulte los siguientes recursos:
Acerca de los autores
Preshen Goobiah es el ingeniero líder de aprendizaje automático para la plataforma de funciones de Capitec. Se centra en el diseño y la creación de componentes de Feature Store para uso empresarial. En su tiempo libre le gusta leer y viajar.
johan olivier es ingeniero senior de aprendizaje automático para la plataforma modelo de Capitec. Es un emprendedor y un entusiasta de la resolución de problemas. Le gusta la música y socializar en su tiempo libre.
Sudipta Bagchi es arquitecto senior de soluciones especializado en Amazon Web Services. Tiene más de 12 años de experiencia en datos y análisis, y ayuda a los clientes a diseñar y crear soluciones de análisis escalables y de alto rendimiento. Fuera del trabajo, le encanta correr, viajar y jugar al cricket. Conéctate con él en Etiqueta LinkedIn.
Syed Humair es arquitecto senior de soluciones especialista en análisis en Amazon Web Services (AWS). Tiene más de 17 años de experiencia en arquitectura empresarial centrándose en datos e IA/ML, ayudando a los clientes de AWS en todo el mundo a abordar sus requisitos comerciales y técnicos. Puedes conectarte con él en Etiqueta LinkedIn.
Vuyisa Maswana es arquitecto senior de soluciones en AWS, con sede en Ciudad del Cabo. Vuyisa tiene un fuerte enfoque en ayudar a los clientes a crear soluciones técnicas para resolver problemas comerciales. Ha apoyado a Capitec en su viaje a AWS desde 2019.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- PlatoData.Network Vertical Generativo Ai. Empodérate. Accede Aquí.
- PlatoAiStream. Inteligencia Web3. Conocimiento amplificado. Accede Aquí.
- PlatoESG. Carbón, tecnología limpia, Energía, Ambiente, Solar, Gestión de residuos. Accede Aquí.
- PlatoSalud. Inteligencia en Biotecnología y Ensayos Clínicos. Accede Aquí.
- Fuente: https://aws.amazon.com/blogs/big-data/simplifying-data-processing-at-capitec-with-amazon-redshift-integration-for-apache-spark/
- :posee
- :es
- $ UP
- 06
- 1
- 10
- 100
- 12
- 16
- 17
- 19
- 20
- 2019
- 30
- 7
- a
- Poder
- de la máquina
- accesible
- logrado
- a través de
- Adicionales
- Información adicional
- Adicionalmente
- dirección
- direcciones
- adhiriendo
- Adopción
- asequible
- AI / ML
- Con el objetivo
- paquete de capacitación DWoVH
- Permitir
- permite
- también
- Amazon
- Amazon Web Services
- Servicios Web de Amazon (AWS)
- entre
- an
- Analytics
- y
- APACHE
- Apache Spark
- Aplicación
- aplicaciones
- se aplica
- enfoque
- arquitectura
- somos
- áreas
- AS
- At
- automatizado
- automáticamente
- AWS
- Pegamento AWS
- Banca
- Bancario
- basado
- porque
- comportamiento
- es el beneficio
- beneficios
- MEJOR
- mejores
- entre
- Mayor
- impulsado
- ambas
- más amplio
- build
- Construir la
- construido
- by
- PUEDEN
- capacidades
- capa
- tarjeta
- catalogar
- cambio
- cliente
- clientes
- Médico
- CO
- código
- Columna
- Columnas
- combinar
- integraciones
- componentes
- cálculo
- Contacto
- conexión
- consistente
- contiene
- contexto
- Conversión
- la conversión de
- Para crear
- Creamos
- Referencias
- crédito
- .
- cricket
- crucial
- personalizado
- Clientes
- todos los días
- datos
- Lago de datos
- proceso de datos
- almacenamiento de datos
- conjuntos de datos
- Descentralizado
- Predeterminado
- se define
- demostrar
- Diseño
- diseño
- detalles
- desarrollar
- Developer
- desarrolladores
- Desarrollo
- una experiencia diferente
- Dimensiones
- dimensiones
- discutir
- discutido
- distribuidos
- diverso
- pasan fácilmente
- ecosistema
- de manera eficaz
- eficacia
- eficiencia
- eficiente
- sin esfuerzo
- eliminado
- enfatizado
- permite
- permitiendo
- ingeniero
- Ingeniería
- certificados
- mejorar
- mejorar
- enriquecido
- enriquecedor
- garantizar
- asegurando que
- Empresa
- entusiasta
- Emprendedor
- Entorno
- esencial
- Éter (ETH)
- existente
- Expandir
- se expande
- experience
- facilitar
- facilitado
- hecho
- factor
- hechos
- RÁPIDO
- Feature
- Caracteristicas
- Archive
- financiero
- servicios financieros
- encuentra
- Focus
- centrado
- enfoque
- siguiendo
- formato
- adelante
- frecuente
- Desde
- funciones
- promover
- Obtén
- generación de AHSS
- obtener
- GitHub
- En todo el mundo
- Manejo
- Tienen
- he
- ayuda
- ayudando
- ayuda
- su
- Cómo
- HTML
- http
- HTTPS
- AMI
- Identificación
- Identidad
- implementar
- implementado
- importar
- importancia
- mejorado
- mejoras
- in
- incluido
- incluye
- aumentado
- información
- integrar
- integración
- integridad
- interacción
- Interfaz
- interno
- dentro
- cuestiones
- IT
- SUS
- Java
- Trabajos
- únete
- se unió a
- lago
- Idiomas
- large
- Gran escala
- Lead
- aprendizaje
- izquierda
- bibliotecas
- Biblioteca
- como
- Etiqueta LinkedIn
- para vivir
- carga
- préstamo
- Ubicaciones
- ama
- máquina
- máquina de aprendizaje
- el mantenimiento de
- un mejor mantenimiento.
- Realizar
- manera
- a mano
- mecanismo
- los mecanismos de
- millones
- minimizando
- minutos
- ML
- modelo
- modelos
- modulares
- monitoreo
- mensual
- más,
- más eficiente
- múltiples
- Música
- necesario
- of
- Ofertas
- oliva
- on
- , solamente
- habiertos
- de código abierto
- Operaciones
- óptimo
- Optimización
- optimizado
- solicite
- afuera
- Más de
- total
- Los pandas
- particularmente
- Contraseña
- para
- actuación
- plan
- jubilación
- plataforma
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- Jugar
- jugando
- juega
- Popular
- que plantea
- POSIBILIDADES
- Publicación
- prácticas
- profético
- anterior
- principio
- Problema
- la resolución de problemas
- problemas
- tratamiento
- Producto
- Producción
- productividad
- promover
- proporcionar
- previsto
- Python
- consultas
- con rapidez
- R
- distancia
- Leer
- Reading
- en tiempo real
- grabar
- archivos
- periódico
- Reducción
- remitir
- fiabilidad
- Renombrado
- exigir
- Requisitos
- Requisitos
- Resolvemos
- Recursos
- resultado
- resultante
- el comercio minorista
- Banca minorista
- Función
- Ejecutar
- correr
- sueldo
- SC
- Scala
- escalable
- alcance
- Sdk
- sin costura
- sin problemas
- secretos
- Sección
- ver
- seleccionado
- seleccionar
- selectivo
- mayor
- Servicios
- Sets
- Varios
- compartido
- Demostramos a usted
- importante
- sencillos
- simplificar
- simplificando
- desde
- Despacio
- más suave
- Instantánea
- So
- socializando
- a medida
- Soluciones
- RESOLVER
- Resuelve
- Fuente
- Fuentes
- Sourcing
- Sur
- Spark
- especialista
- gastado
- SQL
- fundó
- pasos
- STORAGE
- almacenados
- aerodinamizar
- racionalizado
- Cordón
- fuerte
- Subido
- exitosos
- Con éxito
- Soportado
- soportes
- te
- mesa
- equipo
- Técnico
- temporal
- Pruebas
- esa
- La
- La Fuente
- su
- Les
- luego
- Estas
- ellos
- así
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- equipo
- a
- juntos
- ciudad
- transaccional
- Viajar
- Enlance
- utilizan el
- usado
- usando
- utilidad
- utilizado
- Utilizando
- Valioso
- vía
- Manejo de
- fue
- Camino..
- we
- web
- servicios web
- tuvieron
- mientras
- dentro de
- Actividades:
- trabajar juntos
- flujo de trabajo
- flujos de trabajo
- trabajando
- escribir
- años
- cedió
- Usted
- tú
- zephyrnet
- cero