Artificial Intelligence - Big Data - Spark, développer pour le Big Data

Formation inter et intra-entreprise

À qui s'adresse la formation?

Développeurs, architectes.

Durée

5,00 jour(s)

Langues(s) de prestation

FR

Prochaine session

Prérequis

Bonnes connaissances du langage Scala, Python ou Java.

Objectifs

  • Maîtriser les concepts fondamentaux de Spark.
  • Développer des applications avec Spark Streaming.
  • Faire de la programmation parallèle avec Spark sur un cluster.
  • Exploiter des données avec Spark SQL.
  • Avoir une première approche du Machine Learning.

Contenu

Vous développerez des applications en Python, Scala ou Java en vue de traiter en temps réel des données issues du Big Data. Vous collecterez, stockerez et traiterez avec Spark des données de formats hétérogènes afin de mettre en place des chaînes de traitement intégrées à votre Système d'Information.

Points abordés

Introduction
  • Historique du Framework.
  • Comparaison avec l'environnement Apache Hadoop.
  • Les différents modules de Spark.
  • Langages supportés.

Travaux pratiques: Installation et configuration de Spark, exécution d'un premier exemple avec le comptage de mots.

Programmer avec les Resilient Distributed Dataset (RDD)
  • Présentation des RDD.
  • Créer, manipuler et réutiliser des RDD.
  • DAG Directed Acyclic Graph.
  • Accumulateurs et variables broadcastées.
  • Utiliser des partitions.

Travaux pratiques: Manipulation de différents Datasets à l'aide de RDD et utilisation de l'API fournie par Spark.

Manipuler des données structurées avec Spark SQL
  • Spark Context vs Spark Session.
  • SQL, DataFrames et Datasets.
  • Les différents types de sources de données.
  • Interopérabilité avec les RDD.
  • Utilisation de SQL avec des Dataframes.
  • Performance de Spark SQL.
  • JDBC/ODBC server et Spark SQL CLI.
  • L'analyse du DAG via Spark-UI

Travaux pratiques: Manipulation de Dataframes via des requêtes SQL.

Spark sur un cluster
  • Les différents types d'architecture: Standalone, Apache Mesos ou Hadoop YARN.
  • Configurer un cluster en mode Standalone.
  • Packager une application avec ses dépendances.
  • Déployer des applications avec Spark-submit.
  • Dimensionner un cluster.

Travaux pratiques: Mise en place d'un cluster Spark.

Manipuler des graphes avec GraphX
  • Présentation de GraphX.
  • Les différentes opérations.
  • Créer des graphes.
  • Vertex and Edge RDD.
  • Présentation de différents algorithmes.

Travaux pratiques: Manipulation de l'API GraphX à travers différents exemples.

L'architecture Kafka
  • L'aperçu de Kafka Producers, Brokers, Consumers.
  • Les fichiers journaux de Kafka.
  • Les schémas Avro.
  • Utilisation de ZooKeeper.

Travaux pratiques: Étude de la configuration de Kafka dans l'architecture KAPPA.

Spark Structured Streaming
  • Structured Streaming API.
  • Streaming Context.
  • Static et Dynamic Datasets.
  • Fenêtrage et Agrégation.
  • Checkpointing & Watermarking.
  • Fiabilité et tolérance aux pannes.
  • Intégration avec Kafka.

Travaux pratiques: Mise en œuvre de l’analyse en temps-réel d'un fichier de log.

Introduction au Machine Learning
  • L’aperçu de
  • Introduction au Machine Learning.
  • Les différentes classes d'algorithmes.
  • Présentation de MLlib.
  • Implémentations des différents algorithmes dans MLlib.
  • Clustering: KNN, K-mean
  • Régression: Arbre de régression
  • Classification: Random Forest, SVM, AUC, Courbe ROC

Travaux pratiques: Mise en œuvre des analyses sur plusieurs jeux de données.

Méthodes pédagogiques

Notre méthode, adaptée à votre contexte, associe implication des participants et supports concrets.

Certificat, diplôme

Attestation de présence

Mode d'organisation

En présentiel ou en classe virtuelle

Ces formations pourraient vous intéresser