Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

345
Visualizações
¿Por qué Apache-Spark - Python es tan lento localmente en comparación con pandas?

Un novato de Spark aquí. Recientemente comencé a jugar con Spark en mi máquina local en dos núcleos usando el comando:

 pyspark --master local[2]

Tengo un archivo de texto de 393 Mb que tiene casi un millón de filas. Quería realizar alguna operación de manipulación de datos. Estoy usando las funciones de marco de datos integradas de PySpark para realizar operaciones simples como groupBy , sum , max , stddev .

Sin embargo, cuando hago exactamente las mismas operaciones en pandas en el mismo conjunto de datos, parece que pandas vence a pyspark por un gran margen en términos de latencia.

Me preguntaba cuál podría ser una posible razón para esto. Tengo un par de pensamientos.

  1. ¿Las funciones integradas hacen que el proceso de serialización/deserialización sea ineficiente? En caso afirmativo, ¿cuáles son las alternativas a ellos?
  2. ¿El conjunto de datos es demasiado pequeño para que no pueda superar el costo general de la JVM subyacente en la que se ejecuta Spark?

Gracias por mirar. Muy apreciado.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Porque:

  • Apache Spark es un marco complejo diseñado para distribuir el procesamiento en cientos de nodos, al tiempo que garantiza la corrección y la tolerancia a fallas. Cada una de estas propiedades tiene un costo significativo.
  • Porque el procesamiento en el núcleo puramente en memoria (Pandas) es mucho más rápido que el disco y la red (incluso local) E/S (Spark).
  • Debido a que el paralelismo (y el procesamiento distribuido) agrega una sobrecarga significativa, e incluso con una carga de trabajo óptima (vergonzosamente paralela) no garantiza ninguna mejora en el rendimiento.
  • Porque el modo local no está diseñado para el rendimiento. Se utiliza para la prueba.
  • Por último, pero no menos importante: 2 núcleos que se ejecutan en 393 MB no son suficientes para ver mejoras en el rendimiento, y un solo nodo no brinda ninguna oportunidad para la distribución.
  • También Spark: Número de rendimiento inconsistente en el número de núcleos escalados . ¿Por qué pyspark es mucho más lento para encontrar el máximo de una columna? , ¿Por qué mi Spark funciona más lento que Python puro? Comparación de rendimiento

Puedes seguir así durante mucho tiempo...

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda