Cloudera

DENG-256: Optimización de aplicaciones Apache Spark

Este curso práctico ofrece los conceptos clave y la experiencia que los desarrolladores necesitan para mejorar el rendimiento de sus aplicaciones Apache Spark. Durante el curso, los participantes aprenderán a identificar las causas comunes de un rendimiento deficiente en las aplicaciones Spark, técnicas para evitarlas o solucionarlas, y las mejores prácticas para la monitorización de aplicaciones Spark. El curso "Apache Spark Application Performance Tuning" presenta la arquitectura y los conceptos detrás de Apache Spark y la plataforma de datos subyacente, y luego desarrolla esta comprensión fundamental enseñando a los estudiantes cómo optimizar el código de la aplicación Spark. El formato del curso enfatiza las demostraciones dirigidas por el instructor que ilustran tanto los problemas de rendimiento como las técnicas para abordarlos, seguidas de ejercicios prácticos que brindan a los estudiantes la oportunidad de practicar lo aprendido a través de un entorno de cuaderno interactivo. El curso se aplica a Spark 2.4, pero también introduce el marco de ejecución de consultas adaptativas Spark 3.0.

21 horas · Virtual
21 horas
Virtual

Los estudiantes que completen con éxito este curso podrán: comprender la arquitectura de Apache Spark, la ejecución de trabajos y cómo técnicas como la ejecución diferida y la canalización pueden mejorar el rendimiento en tiempo de ejecución; evaluar las características de rendimiento de las estructuras de datos principales, como RDD y DataFrames; seleccionar los formatos de archivo que proporcionarán el mejor rendimiento para su aplicación; identificar y resolver problemas de rendimiento causados por la asimetría de datos; utilizar el particionamiento, la agrupación y las optimizaciones de unión para mejorar el rendimiento de Spark; comprender la sobrecarga de rendimiento de los RDD, DataFrames y funciones definidas por el usuario basados en Python; aprovechar el almacenamiento en caché para un mejor rendimiento de la aplicación; comprender cómo funcionan los optimizadores Catalyst y Tungsten; comprender cómo Workload XM puede ayudar a solucionar problemas y supervisar de forma proactiva el rendimiento de las aplicaciones Spark; aprender sobre las nuevas características de Spark 3.0 y, específicamente, cómo el motor de ejecución de consultas adaptativas mejora el rendimiento.

Arquitectura de Spark RDDs DataFrames y conjuntos de datos Evaluación perezosa Pipeline Fuentes y formatos de datos Descripción general de formatos disponibles Impacto en el rendimiento El problema de los archivos pequeños Inferencia de esquemas El costo de la inferencia Tácticas de mitigación Manejo de datos sesgados Reconocimiento del sesgo Tácticas de mitigación Descripción general de Catalyst y Tungsten Descripción general de Catalyst Descripción general de Tungsten Mitigación de Spark Reorganizaciones Desnormalización Uniones de difusión Operaciones del lado del mapa Uniones de fusión de ordenación Tablas particionadas y en cubos Tablas particionadas Tablas en cubos Impacto en el rendimiento Mejora del rendimiento de las uniones Uniones sesgadas Uniones en cubos Uniones incrementales Sobrecarga y UDF de PySpark Sobrecarga de PySpark UDF escalares UDF vectoriales que utilizan Apache Arrow UDF de Scala Almacenamiento en caché de datos para su reutilización Almacenamiento en caché OpcionesImpacto en el rendimientoProblemas de almacenamiento en cachéIntroducción a Workload XM (WXM)Descripción general de WXMWXM para desarrolladores de Spark¿Qué hay de nuevo en Spark 3.0?Número adaptativo de particiones de mezclaUniones sesgadasConvertir uniones de fusión de ordenación en uniones de difusiónPoda dinámica de particionesParticiones de mezcla de coalescencia dinámica

Este curso está diseñado para desarrolladores de software, ingenieros y científicos de datos con experiencia en el desarrollo de aplicaciones Spark que deseen mejorar el rendimiento de su código. No se trata de una introducción a Spark. Los ejemplos y ejercicios prácticos se presentan en Python, por lo que se requiere saber programar en este lenguaje. Se presupone un conocimiento básico de la línea de comandos Linux. El conocimiento básico de SQL es útil.

Próximas Sesiones

Contáctanos para próximas fechas

Actualmente no hay sesiones programadas para este curso.

Solicitar Información