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:
Spark Driver: Tiene todos estos programadores y administradores que convierten tu código en trabajos
Ejecutores: Estos realizan los cálculos reales
Gestores de Clúster: Podrían ser independientes, YARN, lo que sea. Agarran nodos de trabajo.
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
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:
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.
¿De qué se trata Apache Spark?
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:
Dentro de la Arquitectura de Spark
Los componentes centrales de Apache Spark incluyen:
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.