¿Qué es .NET para Apache Spark?

Apache Spark es un motor de procesamiento distribuido de uso general para realizar análisis de grandes conjuntos de datos (normalmente, terabytes o petabytes de datos). Con .NET para Apache Spark, la compatibilidad de .NET gratuita, de código abierto y multiplataforma para el conocido marco de análisis de macrodatos de código abierto, ahora puede agregar la capacidad de Apache Spark a las aplicaciones de macrodatos con lenguajes que ya conoce.

¿Por qué elegir .NET para Apache Spark?

.NET para Apache Spark permite a los desarrolladores con experiencia en .NET o en bases de código participar en el mundo del análisis de macrodatos. .NET para Apache Spark proporciona API de alto rendimiento para usar Spark desde C# y F#. Con C# y F#, puede tener acceso a lo siguiente:

  • DataFrame y SparkSQL para trabajar con datos estructurados.
  • Spark Structured Streaming, para trabajar con datos de streaming.
  • Spark SQL, para escribir consultas con sintaxis SQL.
  • Integración de aprendizaje automático para acelerar el entrenamiento y la predicción (es decir, uso de .NET para Apache Spark junto con ML.NET).

.NET for Apache Spark es compatible con .NET Standard, una especificación formal de las API de .NET que son comunes entre las implementaciones de .NET. Esto significa que puede usar .NET para Apache Spark en cualquier lugar en el que escriba código de .NET, de modo que podrá reutilizar todo el conocimiento, los conocimientos, el código y las bibliotecas que ya posee como desarrollador de .NET.

.NET para Apache Spark se ejecuta en Windows, Linux y macOS con .NET Core. También se ejecuta en Windows con .NET Framework. Puede implementar las aplicaciones en todos los principales proveedores de servicios en la nube, como Azure HDInsight Spark, Amazon EMR Spark, Azure Databricks y Databricks on AWS.

.NET para arquitectura de Apache Spark

El enlace del lenguaje C#/F# a Spark se escribe en una capa nueva de interoperabilidad de Spark que ofrece una extensibilidad más sencilla. Esta nueva capa de interoperabilidad de Spark se ha escrito usando los procedimientos recomendado para la extensión de lenguaje y optimiza la interoperabilidad y el rendimiento. A largo plazo, esta extensibilidad se puede usar para agregar compatibilidad con otros lenguajes en Spark.

.NET para arquitectura de Apache Spark

Puede obtener información sobre la compatibilidad de interoperabilidad con las extensiones de lenguaje en Spark en la propuesta.

.NET para rendimiento de Apache Spark

Cuando se comparan con Python y Scala mediante el banco de pruebas TPC-H, .NET para Apache Spark funciona correctamente en la mayoría de los casos, y es dos veces más rápido que Python cuando el rendimiento de la función definida por el usuario es crítico. Existe un esfuerzo continuo por mejorar y realizar pruebas comparativas del rendimiento.

Para realizar su propio banco de pruebas, consulte los bancos de pruebas disponibles en el GitHub de .NET para Apache Spark.

Guía de .NET para Apache Spark

Obtenga información sobre los planes a corto y a largo plazo en la Guía de .NET para Apache Spark.

.NET Foundation

El proyecto de .NET para Apache Spark forma parte de .NET Foundation.

Contribuciones

El equipo de .NET para Apache Spark anima a que se aporten contribuciones, en forma tanto de incidencias de GitHub como de solicitudes de incorporación de cambios. En primer lugar, busque una incidencia existente. Si no encuentra una incidencia existente, abra una nueva.

Pasos siguientes

Pruebe .NET para Apache Spark.