Tutoriels Spark avec Scala

Tutoriel Spark avec Scala

Tutoriels Spark avec Scala

Spark fournit aux développeurs et aux ingénieurs une API Scala. Les tutoriels Spark avec Scala énumérés ci-dessous couvrent l’API Scala Spark dans Spark Core, le Clustering, Spark SQL, le Streaming, l’Apprentissage automatique MLLib et plus encore.

Vous pouvez accéder aux tutoriels dans l’ordre de votre choix.

Les tutoriels supposent une compréhension générale de Spark et de l’écosystème Spark quel que soit le langage de programmation tel que Scala. Si vous êtes nouveau sur Apache Spark, le chemin recommandé commence par le haut et descend vers le bas.

Si vous êtes nouveau sur Scala et Spark et que vous souhaitez devenir productif rapidement, consultez mon cours Scala for Spark.

De nouveaux tutoriels Spark sont souvent ajoutés ici, alors assurez-vous de revenir souvent, de créer un signet ou de vous inscrire à notre liste de notifications qui envoie des mises à jour chaque mois.

Apache Spark Essentials

Aperçu

Pour devenir productif et confiant avec Spark, il est essentiel que vous soyez à l’aise avec les concepts Spark de Jeux de données Distribués résilients (RDD), de trames de données, d’ensembles de données, de Transformations, d’Actions. Dans les tutoriels suivants, les fondements de Spark sont abordés d’un point de vue Scala.

Tutoriels

  • Qu’est-ce qu’Apache Spark ?
  • Exemples de transformation Spark dans Scala
  • Exemples d’actions Spark dans Scala

Avec ces trois concepts fondamentaux et les exemples d’API Spark ci-dessus, vous êtes mieux placé pour déplacer l’une des sections suivantes sur le clustering, SQL, le streaming et/ ou l’apprentissage automatique (MLlib) organisées ci-dessous.

Clusters Spark

Les applications Spark peuvent s’exécuter en tant qu’ensembles indépendants de processus parallèles répartis sur de nombreux nœuds d’ordinateurs. De nombreux nœuds collaborant ensemble sont communément appelés « cluster ». Selon votre version de Spark, les processus distribués sont coordonnés par un SparkContext ou SparkSession. Le SparkContext peut se connecter à plusieurs types de gestionnaires de cluster, y compris Mesos, YARN ou le propre gestionnaire de cluster interne de Spark appelé « autonome ”. Une fois connecté au gestionnaire de cluster, Spark acquiert des exécuteurs sur des nœuds du cluster.

Tutoriels

Les tutoriels de clustering Spark suivants vous apprendront sur les capacités du cluster Spark avec des exemples de code source Scala.

  • Cluster Part 1 Run Standalone
  • Cluster Part 2 Deploy a Scala program to the Cluster
  • Spark Cluster Deploy Troubleshooting
  • Accumulateurs et variables de diffusion

Pour plus d’informations sur les clusters Spark, tels que l’exécution et le déploiement sur EC2 d’Amazon, assurez-vous de vérifier la section Intégrations au bas de cette page.

Spark SQL avec Scala

Spark SQL est le composant Spark pour le traitement structuré des données. Les interfaces SQL de Spark fournissent à Spark un aperçu de la structure des données ainsi que des processus en cours d’exécution. Il existe plusieurs façons d’interagir avec Spark SQL, notamment SQL, l’API DataFrames et l’API Datasets. Les développeurs peuvent choisir entre les différentes approches de l’API Spark.

SQL

Les requêtes SQL Spark peuvent être écrites en utilisant une syntaxe SQL de base ou HiveQL. Spark SQL peut également être utilisé pour lire les données des installations Hive existantes. Lors de l’exécution de SQL à partir d’un langage de programmation tel que Python ou Scala, les résultats seront renvoyés sous forme de trame de données. Vous pouvez également interagir avec l’interface SQL à l’aide de JDBC/ODBC.

DataFrames

Une trame de données est une collection distribuée de données organisées en colonnes nommées. Les cadres de données peuvent être considérés comme conceptuellement équivalents à une table dans une base de données relationnelle, mais avec des optimisations plus riches. Les cadres de données peuvent être créés à partir de sources telles que CSV, JSON, des tables dans Hive, des bases de données externes ou des RDD existants.

Ensembles de données

Un ensemble de données est une nouvelle interface expérimentale ajoutée dans Spark 1.6. Les ensembles de données tentent de fournir les avantages des RDD avec les avantages du moteur d’exécution optimisé de Spark SQL.

Tutoriels Spark SQL avec Scala

  • Spark SQL avec CSV et Scala
  • Spark SQL avec JSON et Scala
  • Spark SQL MySQL JDBC utilisant Scala

Les lecteurs peuvent également être intéressés à poursuivre des tutoriels tels que les tutoriels Spark avec Cassandra situés dans la section Intégration ci-dessous. Spark avec Cassandra couvre également des aspects de Spark SQL.

Spark Streaming avec Scala

Spark Streaming est le module Spark qui permet le traitement des flux de données en direct. Les données peuvent être ingérées à partir de nombreuses sources telles que Kinesis, Kafka, Twitter ou des sockets TCP, y compris les WebSockets. Les données de flux peuvent être traitées avec des fonctions de haut niveau telles que `map`, `join` ou `reduce`. Ensuite, les données traitées peuvent être déplacées hors du pipeline vers des systèmes de fichiers, des bases de données et des tableaux de bord.

Les algorithmes MLLib de Spark peuvent être utilisés sur les flux de données, comme indiqué dans les tutoriels ci-dessous.

Spark Streaming reçoit des flux de données d’entrée en direct en divisant les données en lots configurables.

Spark Streaming fournit une abstraction de haut niveau appelée flux discrétisé ou « DStream” en abrégé. Les DStreams peuvent être créés à partir de flux de données d’entrée ou en appliquant des opérations sur d’autres DStreams. En interne, un DStream est représenté comme une séquence de RDD.

Spark Streaming avec Tutoriels Scala

  • Aperçu du Streaming Spark
  • Exemple de Streaming Spark Streaming depuis Slack
  • Spark Streaming avec Tutoriel Kafka
  • Spark Streaming Structuré avec Kafka, y compris JSON, CSV, Avro et le Registre de schéma Confluent
  • Spark Streaming avec Exemple Kinesis
  • Test de streaming Spark

Apprentissage automatique Spark

MLlib est le composant de bibliothèque d’apprentissage automatique (ML) de Spark. L’objectif de MLlib est de rendre l’apprentissage automatique plus facile et plus largement disponible. Il se compose d’algorithmes d’apprentissage populaires et d’utilitaires tels que la classification, la régression, le clustering, le filtrage collaboratif, la réduction de la dimensionnalité.

Le MLlib de Spark est divisé en deux paquets :

  1. spark.mllib qui contient l’API d’origine construite sur RDDs
  2. spark.ml construit sur des trames de données utilisées pour la construction de pipelines ML

spark.ml est l’approche recommandée car l’API DataFrame est plus polyvalente et flexible.

Spark MLlib avec des Tutoriels Scala

  • Spark MLlib avec des Données en Streaming à partir du Tutoriel Scala

Surveillance et Débogage des Performances Spark

  • Surveillance des Performances Spark avec Metrics, Graphite et Grafana
  • Outils de Surveillance des Performances Spark – Une Liste d’Options
  • Tutoriel Spark – Surveillance des Performances avec le Serveur d’Historique
  • Débogage Scala Spark dans IntelliJ

Tutoriels d’intégration Spark avec Scala

Les didacticiels Scala Spark suivants s’appuient sur les sujets précédemment abordés pour créer des cas d’utilisation plus spécifiques

  • Tutoriel Spark Amazon S3
  • Tutoriel sur le déploiement de Spark dans un cluster EC2
  • Tutoriel Spark Cassandra de Scala
  • Spark Scala dans IntelliJ
  • Tutoriel Apache Spark avec Cassandra
  • Exemple de test de charge du serveur Spark Spark

Opérations Spark

Les tutoriels Scala Spark suivants sont liés aux concepts opérationnels

  • Spark Soumettre des Arguments de ligne de commande dans Scala
  • Exemple de planificateur Spark FAIR

Image en vedette adaptée de https://flic.kr/p/7zAZx7

Partager! Partager! Partager! Chantez-le avec moi maintenant

Related Posts

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *