- Tutoriales de Spark con Scala
- Apache Spark Essentials
- Descripción general
- Tutoriales
- Clústeres de Spark
- Tutoriales
- Spark SQL con Scala
- SQL
- DataFrames
- Conjuntos de datos
- Tutoriales de Spark SQL con Scala
- Spark Streaming con Scala
- Transmisión de Spark con tutoriales de Scala
- Aprendizaje automático de Spark
- Spark MLlib con Tutoriales de Scala
- Supervisión y Depuración del rendimiento de Spark
- Tutoriales de integración de Spark con Scala
- Operaciones de Spark
Tutoriales de Spark con Scala
Spark proporciona a desarrolladores e ingenieros una API de Scala. Los tutoriales de Spark con Scala que se enumeran a continuación cubren la API de Scala Spark dentro de Spark Core, Clustering, Spark SQL, Streaming, MLlib de Aprendizaje automático y más.
Puede acceder a los tutoriales en el orden que elija.
Los tutoriales asumen una comprensión general de Spark y el ecosistema de Spark independientemente del lenguaje de programación, como Scala. Si es nuevo en Apache Spark, el camino recomendado es comenzar desde arriba y abrirse camino hacia abajo.
Si eres nuevo en Scala y Spark y quieres ser productivo rápidamente, echa un vistazo a mi curso de Scala for Spark.
Aquí se añaden a menudo nuevos tutoriales de Spark, así que asegúrate de volver a consultarlos con frecuencia, marcar como favorito o registrarte en nuestra lista de notificaciones, que envía actualizaciones cada mes.
Apache Spark Essentials
Descripción general
Para ser productivo y seguro con Spark, es esencial que se sienta cómodo con los conceptos de Spark de Conjuntos de datos Distribuidos Resilientes (RDD), Marcos de datos, Conjuntos de datos, Transformaciones y Acciones. En los siguientes tutoriales, los fundamentos de Spark se cubren desde la perspectiva de Scala.
Tutoriales
- ¿Qué es Apache Spark?
- Ejemplos de transformación de Spark en Scala
- Ejemplos de Acción de Spark en Scala
Con estos tres conceptos fundamentales y los ejemplos de API de Spark anteriores, está en una mejor posición para mover cualquiera de las siguientes secciones sobre agrupación en clústeres, SQL, Transmisión y / o aprendizaje automático (MLlib) organizados a continuación.
Clústeres de Spark
Las aplicaciones de Spark pueden ejecutarse como conjuntos independientes de procesos paralelos distribuidos en numerosos nodos de ordenadores. Numerosos nodos que colaboran entre sí se conocen comúnmente como «cluster». Dependiendo de la versión de Spark, los procesos distribuidos se coordinan mediante un SparkContext o SparkSession. SparkContext se puede conectar a varios tipos de administradores de clúster, incluidos Mesos, YARN o el administrador de clúster interno de Spark llamado «Independiente». Una vez conectado al administrador de clústeres, Spark adquiere ejecutores en los nodos del clúster.
Tutoriales
Los siguientes tutoriales de clústeres de Spark le enseñarán las capacidades de clústeres de Spark con ejemplos de código fuente de Scala.
- Clúster Parte 1 Ejecutar independiente
- Clúster Parte 2 Implementar un programa Scala en el clúster
- Solución de problemas de implementación de clúster de Spark
- Acumuladores y variables de difusión
Para obtener más información sobre los clústeres de Spark, como la ejecución y la implementación en EC2 de Amazon, asegúrese de consultar la sección Integraciones en la parte inferior de esta página.
Spark SQL con Scala
Spark SQL es el componente Spark para el procesamiento de datos estructurados. Las interfaces SQL de Spark proporcionan a Spark una visión tanto de la estructura de los datos como de los procesos que se están realizando. Hay varias formas de interactuar con Spark SQL, como SQL, la API de DataFrames y la API de Conjuntos de datos. Los desarrolladores pueden elegir entre los distintos enfoques de API de Spark.
SQL
Las consultas SQL de Spark se pueden escribir utilizando una sintaxis SQL básica o HiveQL. Spark SQL también se puede usar para leer datos de instalaciones de colmena existentes. Al ejecutar SQL desde un lenguaje de programación como Python o Scala, los resultados se devolverán como un DataFrame. También puede interactuar con la interfaz SQL mediante JDBC / ODBC.
DataFrames
Un DataFrame es una colección distribuida de datos organizada en columnas con nombre. Los dataframes se pueden considerar conceptualmente equivalentes a una tabla en una base de datos relacional, pero con optimizaciones más ricas. Los marcos de datos se pueden crear a partir de fuentes como CSV, JSON, tablas en colmena, bases de datos externas o RDD existentes.
Conjuntos de datos
Un conjunto de datos es una nueva interfaz experimental añadida en Spark 1.6. Los conjuntos de datos intentan proporcionar los beneficios de los RDD con los beneficios del motor de ejecución optimizado de Spark SQL.
Tutoriales de Spark SQL con Scala
- Spark SQL con CSV y Scala
- Spark SQL con JSON y Scala
- Spark SQL MySQL JDBC con Scala
Los lectores también pueden estar interesados en buscar tutoriales como los tutoriales de Spark con Cassandra ubicados en la sección de integración a continuación. Spark con Cassandra también cubre aspectos de Spark SQL.
Spark Streaming con Scala
Spark Streaming es el módulo Spark que permite el procesamiento de secuencias de datos en directo. Se pueden ingerir datos de muchas fuentes, como Kinesis, Kafka, Twitter o sockets TCP, incluidos los WebSockets. Los datos de flujo pueden procesarse con funciones de alto nivel como` map`,` join `o`reduce’. A continuación, los datos procesados se pueden sacar de la canalización a sistemas de archivos, bases de datos y paneles de control.
Los algoritmos MLlib de Spark se pueden usar en flujos de datos como se muestra en los tutoriales a continuación.
Spark Streaming recibe flujos de datos de entrada en vivo dividiendo los datos en lotes configurables.
Spark Streaming proporciona una abstracción de alto nivel llamada transmisión discretizada o» DStream » para abreviar. Los flujos de D pueden crearse a partir de flujos de datos de entrada o aplicando operaciones en otros flujos de D. Internamente, un DStream se representa como una secuencia de RDDs.
Transmisión de Spark con tutoriales de Scala
- Descripción general de transmisión de Spark
- Ejemplo de Transmisión de Spark desde Slack
- Tutorial de transmisión de Spark con Kafka
- Transmisión estructurada de Spark con Kafka que incluye JSON, CSV, Avro y Registro de Esquemas Confluentes
- Transmisión de Spark con Kinesis Ejemplo
- Prueba de transmisión de Spark
Aprendizaje automático de Spark
MLlib es el componente de biblioteca de aprendizaje automático (ML) de Spark. El objetivo de MLlib es hacer que el aprendizaje automático sea más fácil y esté más disponible. Consiste en algoritmos de aprendizaje populares y utilidades como clasificación, regresión, agrupamiento, filtrado colaborativo, reducción de dimensionalidad.
El MLlib de Spark se divide en dos paquetes:
- spark.mllib que contiene la API original construida sobre RDDs
- spark.ml construido sobre marcos de datos utilizados para construir tuberías de ML
spark.ml es el enfoque recomendado porque la API de DataFrame es más versátil y flexible.
Spark MLlib con Tutoriales de Scala
- Tutorial de Spark MLlib con Datos de streaming de Scala
Supervisión y Depuración del rendimiento de Spark
- Supervisión del rendimiento de Spark con Métricas, Grafito y Grafana
- Herramientas de supervisión del rendimiento de Spark – Una Lista de opciones
- Tutorial de Spark – Supervisión del rendimiento con Servidor de Historial
- Depuración de Scala Spark en IntelliJ
- /li>
Tutoriales de integración de Spark con Scala
Los siguientes tutoriales de Scala Spark se basan en los temas tratados anteriormente en casos de uso más específicos
- Tutorial de Spark Amazon S3
- Tutorial de implementación de Spark en un clúster EC2
- Tutorial de Spark Cassandra desde Scala
- Scala de Spark en IntelliJ
- Servidor de ahorro Apache Spark con Tutorial de Cassandra
- Ejemplo de prueba de carga de servidor de ahorro Apache Spark
Operaciones de Spark
Los siguientes tutoriales de Scala Spark están relacionados con conceptos operativos
- Spark Enviar argumentos de línea de comandos en Scala
- Ejemplo de Programador justo de Spark
Imagen destacada adaptada de https://flic.kr/p/7zAZx7
Share! ¡Comparte! ¡Comparte! Cántalo conmigo ahora