¿De qué se trata Apache Spark?

robot
Generación de resúmenes en curso

Apache Spark es este motor de análisis de código abierto para big data. Ha cambiado un poco las reglas del juego para las organizaciones que manejan cargas de trabajo de datos masivos. Spark es rápido. Realmente rápido. Utiliza procesamiento en memoria que lo hace avanzar mucho más rápido que los marcos tradicionales, siendo 100 veces más veloz que MapReduce para operaciones en memoria. ¿Cosas basadas en disco? Aún 10 veces más rápido.

Características Destacadas de Spark

Spark te ofrece todo este ecosistema:

  • Velocidad: Motor en memoria que vuela a través del procesamiento de datos
  • Versatilidad: Hace todo tipo de cosas—SQL, aprendizaje automático, cosas en tiempo real, gráficos
  • Plataforma Unificada: Se integra bien con diferentes fuentes de datos
  • Procesamiento Distribuido: Distribuye el trabajo a través de clústeres para grandes conjuntos de datos
  • Bibliotecas Ricas: Tiene MLlib para aprendizaje automático. También Spark Streaming. Y GraphX para análisis gráfico.

Dentro de la Arquitectura de Spark

Los componentes centrales de Apache Spark incluyen:

  1. Spark Driver: Tiene todos estos programadores y administradores que convierten tu código en trabajos
  2. Ejecutores: Estos realizan los cálculos reales
  3. Gestores de Clúster: Podrían ser independientes, YARN, lo que sea. Agarran nodos de trabajo.
  4. Nodos de Trabajo: Los servidores que realizan el trabajo pesado

UDFs de PySpark: Haciendo de Spark Tu Propio

Spark te permite extenderlo con Funciones Definidas por el Usuario. Cosas bastante interesantes. Estas UDFs en PySpark te permiten crear lógica personalizada cuando las funciones integradas no son suficientes.

Crea una UDF como esta:

python from pyspark.sql.functions import udf de pyspark.sql.types import StringType

Definir una función de Python

def convertir_caso(texto): return text.upper() si text else None

Regístrate como UDF

upper_case_udf = udf(convert_case, StringType())

Aplicar al DataFrame

df = df.withColumn("upper_text", upper_case_udf(df.text_column))

Las UDFs no son perfectas, sin embargo. Son más lentas que las incorporadas debido a la serialización. Tal vez deberías intentar con UDFs vectorizadas si la velocidad es importante. Úsalas con cuidado.

Ajustando Spark con spark-defaults.conf

Puedes controlar Spark a través de este archivo spark-defaults.conf. Son solo pares de propiedades y valores:

spark.master=yarn spark.executor.memory=4g spark.driver.memory=2g spark.executor.cores=2 spark.sql.shuffle.partitions=200

Una buena afinación parece involucrar cosas de memoria. También la configuración de particiones. La recolección de basura puede importar mucho. Las opciones de serialización podrían ayudar al rendimiento.

Spark sigue evolucionando. Es grande en el mundo de los datos. No es perfecto, pero es bastante importante.

Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • Comentar
  • Republicar
  • Compartir
Comentar
0/400
Sin comentarios
  • Anclado
Opera con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)