Treo Blog

En este espacio puedes explorar las últimas tendencias y noticias en tecnología, seguridad informática e infraestructura TI.

  • Jonathan Rodriguez Paipa

Apache Spark juega en el campo de análisis de datos de NetApp

Por: Karthikeyan Nagalingam



Crédito: Pexels

Para comprender el desarrollo del análisis de datos, usemos la analogía del desarrollo de la transmisión automotriz para mejorar el control al cambiar la velocidad del automóvil. Comenzamos usando transmisión manual y progresamos a semiautomática para una transición suave de la transmisión manual a la automática. Ahora la mayoría de los autos solo tienen transmisión automática. De manera similar, en el análisis de datos, comenzamos con una base de datos relacional, avanzamos hacia el análisis distribuido con operaciones de disco y luego introducimos en la memoria para la predicción y el análisis de datos.








Apache Spark es un marco de programación para escribir aplicaciones Hadoop que funcionan directamente con el sistema de archivos distribuido de Hadoop (HDFS) y otros sistemas de archivos, como NFS y almacenamiento de objetos. Apache Spark es un motor de análisis rápido diseñado para el procesamiento de datos a gran escala que funciona mejor en nuestro campo de análisis de datos de NetApp®. Es más eficiente que MapReduce para canalizaciones de datos y algoritmos interactivos. Apache Spark también mitiga los desafíos operativos de E / S que puede experimentar con Hadoop.



Antes de que decida utilizar la carga de trabajo de Apache Spark con el almacenamiento de NetApp para superar sus desafíos de procesamiento de datos a gran escala, es posible que necesite respuestas a preguntas como:

  • ¿Por qué debería utilizar NetApp para la carga de trabajo de Apache Spark?

  • ¿Cuáles son las ventajas de utilizar NetApp con Apache Spark?

  • ¿Cuándo debería usar StorageGRID para Apache Spark?

  • ¿Qué controlador de almacenamiento de NetApp debo utilizar para mi motor en memoria?

Los requisitos para la carga de trabajo de Apache Spark con almacenamiento de NetApp


Entendemos sus desafíos de análisis de datos basados ​​en nuestros hallazgos de muchos estudios de prueba de concepto (POC) con clientes a gran escala en la industria automotriz y de servicios financieros.


DAS versus almacenamiento compartido: desea modernizar su infraestructura de análisis desde una configuración de almacenamiento de conexión directa (DAS) basada en servidor a un lago de datos compartido.

Escale la computación y el almacenamiento: debido a que sus servidores de computación están ocupados ejecutando consultas de análisis y entregando datos, no puede escalar sus servidores y almacenamiento de forma independiente. En el futuro, no es posible continuar agregando servidores y almacenamiento para mantenerse al día con su creciente cantidad de datos y demandas de análisis.


Datos compartibles y GPU: sus datos están bloqueados en clústeres HDFS locales y le gustaría compartirlos entre múltiples clústeres y aplicaciones y estar preparado para el futuro para usar GPU y herramientas de análisis modernas.

Usamos sus desafíos de análisis de datos para definir los entregables para una solución de almacenamiento que usa la carga de trabajo de Apache Spark con el almacenamiento de NetApp.


La carga de trabajo de Apache Spark con la solución de almacenamiento de NetApp


El siguiente caso de uso es un gran ejemplo de cómo ejecutar la carga de trabajo Apache Spark con el almacenamiento de NetApp para un sistema de análisis financiero cuantitativo para nuestros grandes clientes de servicios financieros.


Ejecutamos la carga de trabajo Apache Spark para una operación de escritura y lectura en los sistemas de almacenamiento all-flash AFF A800 y AFF A700 de NetApp que ejecutan el software NetApp ONTAP® y la solución NetApp StorageGRID®, y probamos una carga de trabajo similar ejecutando ONTAP con NFS a través de un MinIO Gateway y un Protocolo S3A. Validamos los casos de prueba de Apache Spark en ONTAP, StorageGRID y MinIO Gateway con NFS.


Nuestra solución de almacenamiento utiliza un lago de datos compartido que sirve a granjas de servidores de procesamiento de datos grandes simultáneamente. Basamos esta solución en ONTAP que proporciona una gestión sencilla y un mejor rendimiento, MinIO Gateway con NFS que proporciona acceso seguro a los datos NFS a través del protocolo S3A y StorageGRID que proporciona acceso a almacenamiento de bajo coste. Ejecutamos una consulta SQL para crear y leer los archivos de parquet en ONTAP con NFS. Ejecutamos la misma consulta a través del protocolo S3A en StorageGRID, lo que llevó más tiempo porque la operación de escritura del clúster Spark es diferente de la operación de escritura NFS.


Generamos archivos de parquet usando marcos de datos de dos tablas de datos aleatorias (aproximadamente 2.4TB) usando scripts pySpark Python y realizamos las operaciones de escritura y lectura usando consultas SparkSQL en ONTAP en NFS.



Puede ver la configuración y los resultados del tiempo de consulta en la figura anterior y revisar nuestros hallazgos a continuación.

  • Ejecutamos la consulta de escritura en menos de 10 minutos para 10 o más nodos trabajadores de Spark.

  • La consulta de escritura de Spark para NFS es más rápida que el protocolo S3A (almacenamiento de objetos).

  • La consulta de lectura de Spark para NFS y S3A muestra un rendimiento similar.

  • StorageGRID para el almacenamiento de objetos es una solución rentable para el análisis de datos moderno.

El rendimiento del rendimiento de Apache Spark


Extrapolamos el rendimiento frente al número de nodos de trabajo de Spark para encontrar el número máximo de nodos de trabajo de Spark que pueden ser compatibles con cada sistema de almacenamiento todo flash AFF A800 y AFF A700.




En los gráficos anteriores, mostramos el número de nodos de trabajo de chispa para los sistemas AFF A800 y AFF A700. Además, cuando lo comparamos con DAS, vemos un rendimiento excelente sin que HDFS utilice múltiples copias de datos. Para obtener más información, consulte NVA-1157-DEPLOY.


Los beneficios de la carga de trabajo de Apache Spark con el almacenamiento de NetApp


Con la carga de trabajo de Apache Spark con almacenamiento de NetApp, creamos una solución exitosa con los siguientes beneficios:

  • Puede utilizar ONTAP con NFS para separar las operaciones de E / S del disco del servidor y reducir el tiempo de espera de E / S en un 70%.

  • Puede obtener un mejor rendimiento y potencia de cómputo para las cargas de trabajo de Apache Spark y las funciones de nivel empresarial con una administración simple.

  • MinIO Gateway le brinda acceso seguro a los datos NFS a través del protocolo S3A.

  • StorageGRID proporciona una opción de almacenamiento de objetos para el clúster Spark y una opción de almacenamiento de bajo costo para las cargas de trabajo de Apache Spark.

  • Puede usar NFS para su nueva infraestructura de lago de datos que ayuda a compartir los datos entre múltiples clústeres de Spark.

  • La carga de trabajo de Apache Spark con la solución de almacenamiento de NetApp le permite escalar el almacenamiento y computar de forma independiente para incorporar recursos de infraestructura según sea necesario.

  • Puede utilizar con éxito nuestro soporte multiprotocolo NetApp ONTAP en su entorno.

En conclusión, puede ejecutar la carga de trabajo de Apache Spark con el almacenamiento de NetApp para cumplir con sus desafíos de procesamiento de datos a gran escala. Puede decidir cuándo utilizar StorageGRID y qué productos de almacenamiento de NetApp utilizar con un motor en memoria como Apache Spark. Finalmente, mostramos cómo puede mejorar la escalabilidad de su infraestructura ejecutando múltiples aplicaciones, consultas más complejas y facilitando GPU en el futuro.


Para obtener más información técnica sobre la carga de trabajo de Apache Spark con la solución de almacenamiento de NetApp, consulte NVA-1157-DEPLOY .

Para obtener más información sobre la carga de trabajo de Apache Spark con la solución de almacenamiento de NetApp para escribir y leer archivos de parquet en ONTAP, consulte los siguientes videos:


Escribir archivos de parquet en ONTAP - Apache Spark workload SparkSQL



Leer archivos de parquet en ONTAP - Apache Spark workload SparkSQL



Fuente: Blog de NetApp.

2 vistas0 comentarios