D'entretiens chez Spark - Les 12 principales questions mises à jour pour 2018

Table des matières:

Anonim

Introduction aux questions et réponses d'entrevue Spark

Apache Spark est un framework open-source. Spark, car il s'agit d'une plate-forme open source, nous pouvons utiliser plusieurs langages de programmation tels que java, python, Scala, R. Par rapport aux performances du processus Map-Reduce, spark aide à améliorer les performances d'exécution. Il fournit également une exécution en mémoire 100 fois plus rapide que Map-Reduce. En raison de la puissance de traitement de l'étincelle de nos jours, les industries préfèrent l'étincelle.

Vous avez donc finalement trouvé l'emploi de vos rêves à Spark, mais vous vous demandez comment résoudre l'interview Spark et quelles pourraient être les probables questions d'entrevue Spark pour 2018. Chaque interview est différente et la portée d'un emploi est également différente. En gardant cela à l'esprit, nous avons conçu les questions et réponses d'entrevue Spark les plus courantes pour 2018 pour vous aider à réussir votre entrevue.

Ces questions sont divisées en deux parties

Partie 1 - Questions d'entrevue Spark (de base)

Cette première partie couvre les questions et réponses de base des entretiens Spark

1. Qu'est-ce que Spark?

Répondre:
Apache Spark est un framework open-source. Il améliore les performances d'exécution que le processus Map-Reduce. C'est une plate-forme ouverte où nous pouvons utiliser plusieurs langages de programmation comme Java, Python, Scala, R. Spark fournit une exécution en mémoire qui est 100 fois plus rapide que Map-Reduce. Il utilise le concept de RDD. RDD est un ensemble de données distribué résilient qui lui permet de stocker de manière transparente des données sur la mémoire et de les conserver sur disque uniquement si elles sont nécessaires. C'est là que cela réduira le temps d'accès aux données de la mémoire au lieu du disque. Aujourd'hui, l'industrie préfère Spark en raison de sa puissance de traitement.

2.Différence entre Hadoop et Spark?

Répondre:

Critères de fonctionnalitéApache SparkHadoop
La vitesse10 à 100 fois plus rapide que HadoopVitesse normale
En traitementTraitement en temps réel et par lots, en mémoire, mise en cacheTraitement par lots uniquement, dépendant du disque
DifficultéFacile grâce aux modules de haut niveauDifficile à apprendre
RécupérationPermet la récupération de partitions à l'aide de RDDTolérance de panne
L'interactivitéDispose de modes interactifs et interactifsPas de mode interactif sauf Pig & Hive, pas de mode itératif

L'architecture Hadoop normale suit Map-Reduce de base, pour le même processus, spark fournit une exécution en mémoire. Au lieu de lecture-écriture à partir du disque dur pour Map-Reduce, spark fournit une lecture-écriture à partir de la mémoire virtuelle.

Passons aux prochaines questions d'entrevue Spark

3. Quelles sont les fonctionnalités de Spark?

Répondre:

  1. Fournir une fonction d'intégration avec Hadoop et Files sur HDFS. Spark peut s'exécuter sur Hadoop à l'aide de la mise en cluster des ressources YARN. Spark a la capacité de remplacer le moteur Map-Reduce d'Hadoop.
  2. Polyglotte: Spark Fournir une API de haut niveau pour Java, Python, Scala et R. Le code Spark peut être écrit dans n'importe laquelle de ces quatre langues. Il fournit un shell indépendant pour scale (le langage dans lequel Spark est écrit) et un interpréteur python. Qui aidera à interagir avec le moteur à étincelles? Le shell Scala est accessible via ./bin/spark-shell et le shell Python via ./bin/pyspark depuis le répertoire installé.
  3. Vitesse: le moteur Spark est 100 fois plus rapide que Hadoop Map-Reduce pour le traitement de données à grande échelle. La vitesse sera atteinte grâce au partitionnement pour paralléliser le traitement distribué des données avec un trafic réseau minimal. Spark fournit des RDD (Resilient Distributed Datasets), qui peuvent être mis en cache sur les nœuds de calcul d'un cluster
  4. Formats multiples: Spark possède une API de source de données. Il fournira un mécanisme pour accéder aux données structurées via spark SQL. Les sources de données peuvent être n'importe quoi, Spark créera simplement un mécanisme pour convertir les données et les tirer vers l'étincelle. Spark prend en charge plusieurs sources de données comme Hive, HBase, Cassandra, JSON, Parquet, ORC.
  5. Spark fournit des bibliothèques intégrées pour effectuer plusieurs tâches à partir du même noyau comme le traitement par lots, la vapeur, l'apprentissage automatique, les requêtes SQL interactives. Cependant, Hadoop prend uniquement en charge le traitement par lots. Spark Fournir des MLIb (bibliothèques d'apprentissage automatique) qui seront utiles au développeur Big-Data pour traiter les données. Cela permet de supprimer les dépendances sur plusieurs outils à des fins différentes. Spark fournit une puissante plate-forme commune aux ingénieurs de données et aux scientifiques des données avec des performances rapides et faciles à utiliser.
  6. Apache Spark retarde l'exécution du processus jusqu'à ce que l'action soit nécessaire. C'est l'une des principales caractéristiques de l'étincelle. Spark ajoutera chaque transformation au DAG (Direct Acyclic Graph) pour exécution, et lorsque l'action veut s'exécuter, elle déclenchera le traitement du DAG.
  7. Streaming en temps réel: Apache Spark Fournit des calculs en temps réel et une faible latence, en raison de l'exécution en mémoire. Spark est conçu pour de grandes évolutivités comme un millier de nœuds du cluster et plusieurs modèles de calculs.

4. Qu'est-ce que YARN?

Répondre:
Ce sont les questions d'entretien Spark de base posées dans une interview. YARN (Yet Another Resource Negotiator) est le gestionnaire de ressources. Spark est une plate-forme qui permet une exécution rapide. Spark utilisera YARN pour l'exécution du travail sur le cluster, plutôt que son propre gestionnaire intégré. Il existe certaines configurations pour exécuter Yarn. Ils comprennent le maître, le mode de déploiement, la mémoire du pilote, la mémoire de l'exécuteur, les cœurs d'exécuteur et la file d'attente. Ce sont les questions d'entrevue Spark courantes qui sont posées dans une interview ci-dessous. Voici les avantages de Spark:

Avantages de Spark sur Map-Reduce

Spark a des avantages sur Map-Reduce comme suit: -
En raison de la capacité du processus en mémoire, Spark est capable d'exécuter 10 à 100 fois plus rapidement que Map-Reduce. Où Map-Reduce peut être utilisé pour la persistance des données à l'étape Map and Reduce.

Apache Spark fournit un niveau élevé de bibliothèques intégrées pour traiter plusieurs tâches en même temps que le traitement par lots, le streaming en temps réel, Spark-SQL, le streaming structuré, MLib, etc. En même temps, Hadoop ne fournit que le traitement par lots.
Le processus Hadoop Map-Reduce dépend du disque, où Spark fournit la mise en cache et en mémoire.

Spark est à la fois itératif, effectue plusieurs calculs sur le même ensemble de données et interactif, effectue des calculs entre différents ensembles de données où Hadoop ne prend pas en charge le calcul itératif.

5. Quelle est la langue prise en charge par Spark?

Répondre:
Spark supporte scala, Python, R et Java. Sur le marché, le développeur de Big Data préfère principalement Scala et Python. Pour qu'une échelle compile le code, nous avons besoin de définir le chemin du répertoire scale / bin ou de créer un fichier jar.

6. Qu'est-ce que RDD?

Répondre:
RDD est une abstraction de Resilient Distributed Dataset, qui fournit une collection d'éléments partitionnés sur tous les nœuds du cluster, ce qui aidera à exécuter plusieurs processus en parallèle. L'utilisation du développeur RDD peut stocker les données en mémoire ou la mise en cache, pour être réutilisées efficacement pour l'exécution parallèle des opérations. RDD peut être récupéré facilement après une défaillance de nœud.

Partie 2 - Questions d'entrevue Spark (avancé)

Jetons maintenant un coup d'œil aux questions d'entrevue avancées de Spark.

7. Quels sont les facteurs responsables de l'exécution de Spark?

Répondre:
1. Spark fournit une exécution en mémoire au lieu de dépendre du disque comme Hadoop Map-Reduce.
2.RDD Resilient Distributed Dataset, qui est une exécution parallèle responsable de plusieurs opérations sur tous les nœuds d'un cluster.
3. Spark fournit une fonction de variable partagée pour une exécution parallèle. Ces variables aident à réduire le transfert de données entre les nœuds et partagent une copie de tous les nœuds. Il y a deux variables.
4.Variable de diffusion: cette variable peut être utilisée pour mettre en cache une valeur en mémoire sur tous les nœuds
5. Variable d'accumulateurs: cette variable est uniquement «ajoutée» à, comme les compteurs et les sommes.

8. Qu'est-ce que la mémoire de l'exécuteur testamentaire?

Répondre:
Telles sont les questions fréquemment posées lors d'un entretien Spark. Il s'agit de la taille de segment de mémoire allouée à l'exécutant spark. Cette propriété peut être contrôlée par la propriété spark.executor.memory de l'indicateur –executor-memory. Chaque application Spark a un exécuteur pour chaque nœud de travail. Cette propriété fait référence à la quantité de mémoire des nœuds de travail qui sera allouée à une application.

9. Comment utilisez-vous Spark Stream? Expliquez un cas d'utilisation?

Répondre:
Spark Stream est l'une des fonctionnalités utiles pour un cas d'utilisation en temps réel. Nous pouvons utiliser le canal, Kafka avec une étincelle à cet effet. Flume déclenchera les données à partir d'une source. Kafka conservera les données dans le sujet. De Kafka Spark tirera les données en utilisant le flux et il diffusera les données en D et effectuera la transformation.

Nous pouvons utiliser ce processus pour une transaction suspecte en temps réel, des offres en temps réel, etc.

Passons aux prochaines questions d'entrevue Spark

10. Pouvons-nous utiliser Spark pour le processus ETL?

Répondre:
Oui, nous pouvons utiliser la plateforme spark pour le processus ETL.

11. Qu'est-ce que Spark SQL?

Répondre:
Il s'agit d'un composant spécial de spark qui prendra en charge les requêtes SQL.

12. Quelle évaluation paresseuse?

Répondre:
Lorsque nous travaillons avec une étincelle, les transformations ne sont évaluées que lorsque vous effectuez une action. Cela permet d'optimiser le flux de travail global de traitement des données. Lors de la définition de la transformation, elle s'ajoutera au DAG (Direct Acyclic Graph). Et au moment de l'action, il commencera à exécuter des transformations pas à pas. Ceci est la question d'entrevue Spark utile posée dans une interview.

Article recommandé

Cela a été un guide pour la liste des questions et réponses d'entrevue Spark afin que le candidat puisse réprimer facilement ces questions d'entrevue Spark. Vous pouvez également consulter les articles suivants pour en savoir plus-

  1. Java vs Node JS simplifiant les différences
  2. D'entretiens chez Mongo Database | Utile et le plus demandé
  3. 15 questions et réponses d'entrevue R les plus réussies
  4. Questions et réponses d'entretiens chez Perl
  5. Questions d'entretiens chez SAS System - Top 10 des questions utiles