Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas

Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas


Big Data de memoria pasada Big Data de memoria pasada Esta información proviene de la sucursal de la Cumbre de Big Data & AI de la Conferencia Yunqi celebrada en Hangzhou el 26 de septiembre de 2019. El título del tema "Nuevos desarrollos en el ecosistema de código abierto: Apache Spark 3.0 y Koalas", comparte como invitado Li Xiao, director de I + D de Databricks Spark.
El siguiente es el video de esta reunión (debido a la limitación de la cuenta oficial de WeChat, solo se pueden publicar videos de menos de 30 minutos. Para el video completo y PPT, preste atención a la cuenta oficial de big data de memoria pasada y responda a spark_yq para obtenerlo.)
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas

2019 es un año especial para la comunidad Spark. Hace diez años, Ma Tie dio a luz un gran proyecto para ayudar a sus compañeros a conseguir millones de dólares en el concurso Netflix Prize iniciado por Netflix, ahora Apache Spark.
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
Lo anterior es el historial de desarrollo de Apache Spark. La versión preliminar de Apache Spark 3.0 se lanzará en septiembre de 2019 y la versión oficial de Apache Spark 3.0 se lanzará a principios del próximo año.
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
Los de clase mundial saben que Spark y PySpark ocuparon un lugar destacado en stackoverflow, ocupando el primer lugar en Apache Spark y el segundo en Apache Hadoop durante 10 años; en el futuro, Apache Spark y PySpark monopolizarán el mundo.
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
Apache Spark 3.0 es el resultado de los esfuerzos conjuntos de la comunidad y se ha desarrollado durante más de un año. Las siguientes son las características principales de Apache Spark 3.0:
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas

  • Reducción dinámica de particiones
  • Adaptado
  • Gráfico de chispa
  • Programación de inducción acelerada (GPU, consulte los detalles, Apache Spark 3.0 admitirá la programación de GPU incorporada, hay beneficios al final del artículo)
  • Spark en k8s
  • API de fuente de datos V2
  • Compatible con ANSI SQL
  • Sugerencias SQL
  • Vectorización en SparkR
  • JDK 11
  • Hadoop 3
  • Scala 2.12
    presenta principalmente la optimización de consultas de Apache Spark 3.0.
    Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
    Spark 2.x agrega optimización basada en costos, pero esto no funciona bien. Las principales razones son las siguientes:
  • Falta de información estadística;
  • Las estadísticas están desactualizadas;
  • Es difícil abstraer un modelo de costos general.
    Para resolver estos problemas, Apache Spark 3.0 introdujo la optimización de consultas basada en tiempo de ejecución.
    Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
    La primera es la reducción dinámica de particiones. Por
    Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
    ejemplo, la consulta SQL anterior. Suponiendo que la tabla t2 t2.id <2 filtra menos datos, pero debido a que la versión anterior de Spark no puede calcular dinámicamente el costo, puede causar que la tabla t1 escanear una gran cantidad de datos no válidos. Con la reducción de partición dinámica, es posible filtrar los datos inútiles de la tabla t1 en tiempo de ejecución.
    Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
    Después de esta optimización, los datos para el escaneo de consultas se reducen en gran medida y el rendimiento aumenta 33 veces. La
    Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
    segunda optimización es AE (para detalles, consulte ¿Cómo usar Adaptive Execution para que Spark SQL sea más eficiente y mejor de usar?).
    Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
    Por ejemplo, para la siguiente consulta, la optimización del modelo basada en costos no se puede evaluar con precisión.
    Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
    Con AE, Spark puede contar de forma dinámica la información relevante y ajustar dinámicamente el plan de ejecución, como cambiar SortMergeJoin a BroadcastHashJoin:
    Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
    Spark se posiciona al comienzo de su nacimiento Es un motor de procesamiento de big data unificado.
    Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
    El procesamiento de datos pasa principalmente por las siguientes tres etapas
    Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
  • Inteligencia de Negocio
  • Análisis de big data
  • Unificación de datos + AI
    Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
    Spark se enfrenta principalmente a dos grupos: ingenieros de datos y científicos de datos.
    Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
    En los últimos años, cada vez más usuarios de Python también han llevado a que cada vez más usuarios utilicen pandas para el análisis de datos. Pero pandas resuelve principalmente el análisis de pequeños volúmenes de datos. Cuando el volumen de datos es grande, el rendimiento del análisis cae drásticamente. Para analizar una gran cantidad de datos, es necesario aprender un nuevo motor de cálculo.
    Para resolver este problema, los koalas de código abierto Spark, que son perfectamente compatibles con los pandas (para obtener detalles sobre los koalas, consulte Koalas: Permita que los desarrolladores de pandas pasen fácilmente a Apache Spark). Las siguientes son las descargas diarias desde que los koalas fueron de código abierto:

Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
Como herramienta para el análisis de datos, PySpark está aumentando gradualmente en descargas por día.
La siguiente es la diferencia entre PySpark DataFrame y pandas DataFrame:
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
La siguiente es una comparación de ejemplos de uso, principalmente para leer un archivo csv, cambiar el nombre de la columna y finalmente agregar una nueva columna: Se
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
puede ver que PySpark se usa en comparación con pandas Todavía es muy problemático. Los usuarios que usan pandas tienen que aprender nuevas API, pero con los koalas, este problema no existe:
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
introduzcamos la ingeniería de datos
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
en términos de ingeniería de datos. La cantidad de ladrillos de código abierto Delta Lake (para obtener más detalles, consulte Heavy | El Delta Lake que la comunidad de Apache Spark espera es de código abierto):
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
Delta Lake no se creó de la nada, sino que se basó en los puntos débiles de miles de usuarios. El uso de Delta Lake también es muy diferente. Reemplace directamente el parquet con delta:
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
Lo siguiente presenta principalmente las características
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
de Delta Lake. Aquí hay tres escenarios de uso de usuario de Delta Lake:
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
El siguiente es el uso de Delta por ladrillos:
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas
Conferencia Yunqi | Últimos desarrollos de Apache Spark 3.0 y Koalas

Supongo que te gusta

Origin blog.51cto.com/15127589/2679158
Recomendado
Clasificación