Compartir a través de


PySpark en Azure Databricks

En este artículo se describen los aspectos básicos de PySpark, una API de Python para Spark, en Databricks.

Azure Databricks se basa en Apache Spark, un motor de análisis unificado para macrodatos y aprendizaje automático. PySpark le ayuda a interactuar con Apache Spark mediante el lenguaje de programación Python, que es flexible, fácil de aprender, implementar y mantener. También proporciona muchas opciones para la visualización de datos en Databricks. PySpark combina la eficacia de Python y Apache Spark.

API y bibliotecas

Como todas las API para Spark, PySpark incluye muchas API y bibliotecas que permiten y admiten potentes funcionalidades, entre las que se incluyen:

  • Procesamiento de datos estructurados con consultas relacionales con Spark SQL y DataFrames. Spark SQL permite mezclar consultas SQL con programas de Spark. Con DataFrames de Spark, puede leer, escribir, transformar y analizar datos de forma eficaz mediante Python y SQL, lo que significa que siempre está aprovechando toda la potencia de Spark. Consulte Introducción a PySpark.
  • Procesamiento escalable de flujos con Structured Streaming. Puede expresar un cálculo de streaming de la misma forma que expresaría un cálculo por lotes sobre datos estáticos y el motor Spark SQL lo ejecuta de forma incremental y continua a medida que siguen llegando los datos de streaming. Consulte Información general de Structured Streaming.
  • Estructuras de datos de Pandas y herramientas de análisis de datos que funcionan en Apache Spark con la API de Pandas en Spark. La API de Pandas en Spark le permite escalar su carga de trabajo de Pandas a cualquier tamaño ejecutándola distribuida en varios nodos, con un único código base que funciona con Pandas (pruebas, conjuntos de datos más pequeños) y con Spark (producción, conjuntos de datos distribuidos). Consulte Introducción a la API de Pandas en Spark.
  • Algoritmos de aprendizaje automático con Machine Learning (MLLib). MLlib es una biblioteca de aprendizaje automático escalable basada en Spark que proporciona un conjunto uniforme de API que ayudan a los usuarios a crear y optimizar canalizaciones prácticas de aprendizaje automático. Consulte Introducción a la biblioteca de Machine Learning.
  • Grafos y cálculo paralelo de grafos con GraphX. GraphX presenta un nuevo multigrafo dirigido con propiedades asociadas a cada vértice y borde, y expone operadores de cálculo de grafos, algoritmos y generadores para simplificar las tareas de análisis de grafos. Consulte Introducción a GraphX.

DataFrames, transformaciones y evaluación diferida

Los DataFrames de Apache Spark son conjuntos de datos organizados en columnas con nombre. Son estructuras de datos con etiquetas bidimensionales con columnas de diferentes tipos. Los DataFrames ofrecen un amplio conjunto de funciones que permiten resolver eficazmente los problemas habituales de análisis de datos y facilitan la transformación de datos con métodos integrados para ordenarlos, filtrarlos y agregarlos.

En Apache Spark son fundamentales dos categorías de operaciones de procesamiento de datos: transformaciones y acciones. Una operación de acción devuelve un valor, como count, first y collect. Una operación de transformación, como filter o groupBy, devuelve un DataFrame, pero no se ejecuta hasta que una acción la desencadena. Esto se conoce como evaluación diferida. La evaluación diferida también permite encadenar varias operaciones porque Spark controla su ejecución de forma diferida, en lugar de ejecutarlas inmediatamente cuando se definen.

Tutoriales de Spark

Además del tutorial de Apache Spark, que le guía a través de la carga y transformación de datos mediante DataFrames, la documentación de Apache Spark también tiene guías de inicio rápido y guías para aprender Spark, incluidos los siguientes artículos:

Referencia de PySpark

Azure Databricks mantiene su propia versión de las API de PySpark y la referencia correspondiente, que se pueden encontrar en estas secciones: