La structure de données de Spark est basée sur RDD (acronyme de l'ensemble de données distribué résilient); RDD se compose d'une collection distribuée inchangée d'objets; Ces ensembles de données peuvent contenir tout type d'objets liés à Python, Java, Scala et peuvent également contenir les classes définies par l'utilisateur. L'utilisation large d'Apache-Spark est due à son mécanisme de travail qu'il suit:
L'Apache Spark fonctionne sur les phénomènes maître et esclaves; Suivant ce modèle, un coordinateur central de Spark est connu sous le nom de «conducteur»(Agit comme un maître) et ses travailleurs distribués sont nommés« exécuteurs testamentaires »(agit comme esclave). Et le troisième composant principal de Spark est «Gestionnaire de cluster» Comme son nom l'indique, c'est un gestionnaire qui gère les exécuteurs et les chauffeurs. Les exécuteurs exécuteurs sont lancés par «Gestionnaire de cluster»Et dans certains cas, les pilotes sont également lancés par ce gestionnaire de Spark. Enfin, le gestionnaire intégré de Spark est responsable du lancement de toute application Spark sur les machines: Apache-Spark se compose d'un certain nombre de fonctionnalités notables qui sont nécessaires pour discuter ici pour souligner le fait pourquoi ils sont utilisés dans le traitement des données importantes? Ainsi, les caractéristiques d'Apache-Spark sont décrites ci-dessous:
Caractéristiques
Voici quelques fonctionnalités distinctives qui font d'Apache-Spark un meilleur choix que ses concurrents:
Vitesse: Comme indiqué ci-dessus, il utilise DAG Scheduler (planifie les travaux et détermine l'emplacement approprié pour chaque tâche), requête l'exécution et les bibliothèques de soutien pour effectuer une tâche efficace et rapide.
Support multi-langues: La fonctionnalité multi-langues d'Apache-Spark permet aux développeurs de créer des applications basées sur Java, Python, R et Scala.
Traitement en temps réel: Au lieu de traiter les données stockées, les utilisateurs peuvent obtenir le traitement des résultats par traitement en temps réel des données et donc il produit des résultats instantanés.
Meilleure analyse: Pour l'analyse, Spark utilise une variété de bibliothèques pour fournir des analyses comme, des algorithmes d'apprentissage automatique, des requêtes SQL, etc. Cependant, son concurrent Apache-MapReduce utilise uniquement la carte et réduit les fonctions pour fournir des analyses; Cette différenciation analytique indique également pourquoi Spark surpasse MapReduce.
Concentrer l'importance et les caractéristiques incroyables d'Apache Spark; Notre écriture d'aujourd'hui ouvrira la voie à installer Apache Spark sur votre Ubuntu
Comment installer Apache Spark sur Ubuntu
Cette section vous guidera pour installer Apache Spark sur Ubuntu:
Étape 1: Mettez à jour le système et installez Java
Avant d'obtenir un aperçu de la partie centrale de l'installation; Mettons à jour le système en utilisant la commande mentionnée ci-dessous:
$ sudo apt mise à jour
Après la mise à jour, la commande écrite ci-dessous installera Java Environment car Apache-Spark est une application basée sur Java:
$ sudo apt installer par défaut-jdk
Étape 2: Téléchargez le fichier Apache Spark et extraire
Une fois le Java installé avec succès, vous êtes prêt à télécharger le fichier APACHE SPARK à partir du Web et la commande suivante téléchargera les derniers 3.0.3 construction d'étincelles:
$ wget https: // archive.apache.org / dist / Spark / Spark-3.0.3 / Spark-3.0.3-bin-hadoop2.7.tgz
Vous devez extraire le fichier téléchargé ainsi; La commande suivante effectuera l'extraction (dans mon cas):
$ TAR XVF Spark-3.0.3-bin-hadoop2.7.tgz
Après cela, déplacez le dossier extrait vers «/opter/ »Répertoire en suivant la commande mentionnée ci-dessous:
$ sudo mv spark-3.0.3-bin-hadoop2.7 / / Opt / Spark
Une fois que vous avez terminé les processus ci-dessus, cela signifie que vous avez terminé avec Téléchargez l'Apache Spark, mais attendez; Cela ne fonctionnera pas avant de configurer l'environnement Spark Les sections à venir vous guideront pour configurer et utiliser Spark:
Comment configurer l'environnement Spark
Pour cela, vous devez définir certaines variables d'environnement dans le fichier de configuration "~ /.profil»
Accédez à ce fichier à l'aide de votre éditeur (Nano dans mon cas), la commande écrite ci-dessous ouvrira ce fichier dans Nano Editor:
$ sudo nano ~ /.profil
Et écrire les lignes suivantes à la fin de ce fichier; Une fois que vous avez terminé, appuyez sur "Ctrl + s«Pour enregistrer le fichier:
exporter spark_home = / opt / spark
Export Path = $ Path: $ Spark_Home / Bin: $ Spark_Home / Sbin
exporter pyspark_python = / usr / bin / python3
Chargez le fichier pour obtenir les modifications pour l'environnement Spark:
$ source ~ /.profil
Comment démarrer le serveur maître autonome de Spark
Une fois les variables d'environnement réglées; Vous pouvez maintenant démarrer le processus pour le serveur maître autonome en utilisant la commande écrite ci-dessous:
$ start-master.shot
Une fois que vous avez commencé le processus; L'interface Web de Master Server peut être récupérée en utilisant l'adresse mentionnée ci-dessous; Écrivez l'adresse suivante dans la barre d'adresse de votre navigateur
https: // localhost: 8080 /
Comment démarrer l'esclave / serveur de travailleurs de Spark
Le serveur esclave peut être démarré en utilisant la commande indiquée ci-dessous: On remarque que vous avez besoin d'une URL de Master Server pour démarrer le travailleur:
$ start-slave.sh Spark: // Adnan: 7077
Une fois que vous avez commencé; Exécutez l'adresse (https: // localhost: 8080) Et vous remarquerez qu'il y a un travailleur ajouté "Ouvriers" section. Il est remarqué que le travailleur utilise le noyau «1» du processeur et 3.3 Go de RAM par défaut:
Par exemple, nous limiterons le nombre de cœurs des travailleurs en utilisant un drapeau «-c»: par exemple, la commande mentionnée ci-dessous démarrera un serveur avec des noyaux «0» d'utilisation du processeur:
$ start-slave.SH -C 0 Spark: // Adnan: 7077
Vous pouvez voir les modifications en rechargeant la page (https: // localhost: 8080 /):
De plus, vous pouvez également limiter la mémoire des nouveaux travailleurs en utilisant «-m»Flag: la commande écrite ci-dessous démarrera un esclave avec une utilisation de la mémoire de 256 Mo:
$ start-slave.SH -M 256M Spark: // Adnan: 7077
Le travailleur ajouté avec une mémoire limitée est visible à l'interface Web (https: // localhost: 8080 /):
Comment démarrer / arrêter le maître et l'esclave
Vous pouvez arrêter ou étaler le maître et l'esclave à la fois en utilisant la commande mentionnée ci-dessous:
$ start-all.shot
De même, la commande indiquée ci-dessous arrêtera toutes les instances à la fois:
$ stop-all.shot
Pour démarrer et arrêter uniquement l'instance de maîtrise, utilisez les commandes suivantes:
$ start-master.shot
Et pour arrêter le maître de course:
$ stop-master.shot
Comment faire fonctionner la coquille d'étincelle
Une fois que vous avez terminé avec la configuration de l'environnement Spark; Vous pouvez utiliser la commande mentionnée ci-dessous pour exécuter le shell Spark; Par ce moyen, il est également testé:
$ spark-shell
Comment exécuter Python dans Spark Shell
Si le shell Spark fonctionne sur votre système, vous pouvez exécuter Python sur cet environnement; Exécutez la commande suivante pour obtenir ceci:
$ pyspark
Note: La commande ci-dessus ne fonctionnera pas si vous travaillez avec Scala (langue par défaut dans Spark Shell), vous pouvez en sortir en tapant «: q"Et pressant"Entrer"Ou simplement appuyer sur"Ctrl + c".
Conclusion
Apache Spark est un moteur d'analyse unifié open source qui est utilisé pour le traitement des mégadonnées à l'aide de plusieurs bibliothèques et principalement utilisé par les ingénieurs de données et d'autres qui doivent travailler sur d'énormes quantités de données. Dans cet article, nous avons fourni un guide d'installation d'Apache-Spark; ainsi que la configuration de l'environnement Spark est également décrite en détail. L'ajout de travailleurs avec des nombres ou des noyaux limités et une mémoire spécifiée seraient utiles pour enregistrer les ressources tout en travaillant avec Spark.