Chispa fusionada

Chispa fusionada
El procesamiento de Big Data es un tema candente en el mundo técnico. Hay una gran cantidad de bibliotecas y marcos que se están utilizando para el procesamiento regular de big data. Discutiremos un marco, el Apache Spark, que es un motor de procesamiento de datos para datos distribuidos masivamente. También discutiremos uno de sus métodos populares, Spark Coalesce, que se utiliza para reducir las particiones del conjunto de datos, junto con su ejemplo.

¿Qué es Apache Spark??

Apache Spark es una herramienta de procesamiento de datos gratuita y de código abierto que utiliza estructuras de programación básicas para persistir y analizar datos en tiempo real en varios grupos de computadoras.

Spark comenzó como un experimento de Amplab en UC Berkeley en 2009. Es parte de la licencia BSD que se lanza en 2010. Spark se convirtió en un proyecto Apache en 2013. En 2014, Databricks logró un nuevo récord mundial al clasificar los conjuntos de datos a gran escala con chispa. Spark admite varios lenguajes de programación como R, Python, Java y Scala y es 100 veces más rápido que MapReduce en el procesamiento de los datos, ya que se realiza en la memoria. Contiene menos líneas de código, y para la autenticación, utiliza un código compartido. También puede operar en hilo, aprovechando las capacidades de Kerberos. Se basa en Hadoop MapReduce y extiende el concepto MapReduce para emplear efectivamente los nuevos tipos de cálculos.

La principal ventaja de Spark sobre Hadoop es utilizar una arquitectura de procesamiento en memoria. Para usar el almacenamiento de replicación distribuida, Spark puede operar sobre HDFS. Spark se puede utilizar en el mismo clúster de Hadoop que MapReduce o como un marco de procesamiento independiente. El hilo también puede ejecutar aplicaciones Spark. En lugar de usar un espacio de memoria local para el cálculo, Spark emplea una computación en memoria, lo que permite a los usuarios procesar los datos en la RAM y recuperarlos rápidamente. Spark no tiene la intención de reemplazar Hadoop; podría considerarse un cumplido.

MapReduce y Spark se usan en conjunto: MapReduce maneja el procesamiento por lotes mientras Spark maneja el procesamiento en tiempo real. El código Spark puede reutilizarse para el procesamiento por lotes, unir corrientes contra datos históricos y hacer consultas ad-hoc en el estado de la transmisión. Spark incluye transmisión de herramientas de datos, búsquedas interactivas/declarativas, aprendizaje automático, así como mapear y reducir.

¿Cuál es el método Spark Coalesce??

El método de Coalesce se utiliza para reducir el número de particiones del conjunto de datos. Coalesce evita la combinación completa arrastrando los datos utilizando el particionador hash (predeterminado) y se ajusta a las particiones existentes en lugar de generar nuevas. Esto significa que solo puede reducir el número de particiones. En Spark SQL, el juntarse El método regular es un método no agregado. Para reducir la cantidad de los datos movidos, Coalesce utiliza divisiones existentes. Si todas las columnas son nulas, el Coalesce devuelve el primer valor no nulo. FuseleSce es más rápido que la reparación porque evita todo el barato, mientras que la reparación lleva un barato completo, lo que lleva mucho tiempo y es costoso. Se requiere al menos una columna para la coalescencia, y todas las columnas deben ser de los mismos tipos o compatibles.

Ejemplo de uso del método de Coalesce

Para probar la función Spark Coalesce, use el siguiente comando:

testdf = sqlContext.creatataFrame ([(1,1), (2,2), (ninguno, 3), (4, ninguno)], ["id", "valor"])
+----+------+
| ID | Valor |
+----+------+
| 1 | 1 |
| 2 | 2 |
| NULL | 3 |
| 4 | NULL |
+----+------+

Importe las funciones de PySpark requeridas utilizando el siguiente comando:

de Pyspark.sql.tipos Importar FloatType

de Pyspark.sql.Importación de funciones *

Para crear una nueva columna con valores no nulos, aplique el siguiente comando:

tmp = testdf.WithColumn ('col', Coalesce (testdf ['id'], testdf ['valor']))
TMP.espectáculo()
+----+------+---------+
| ID | Valor | Col |
+----+------+---------+
| 1 | 1 | 1 |
| 2 | 2 | 2 |
| NULL | 3 | 3 |
| 4 | NULL | 4 |
+----+------+---------+

Conclusión

Discutimos sobre el método Apache Spark, Spark SQL y Spark SQL Coalesce. Aprendimos que se puede usar para reducir las particiones del marco de datos, junto con un ejemplo. También nos dimos cuenta de que el método Coalesce solo se puede usar para reducir el número de particiones, mientras que la partición se puede usar para disminuir o aumentar las particiones.