Laatst Bijgewerkt: 25 jan 2021
De vragen die gesteld worden bij een big data developer of apache spark developer job interview kunnen vallen in een van de volgende categorieën op basis van Spark Ecosysteem Componenten -.
Daarnaast, is het tonen van projectervaring in het volgende belangrijk –
|
Met de toenemende vraag vanuit de industrie, om big data in een sneller tempo te verwerken -Apache Spark wint enorm aan momentum als het gaat om adoptie door bedrijven. Hadoop MapReduce ondersteunde goed de behoefte om big data snel te verwerken, maar er was altijd een behoefte onder ontwikkelaars om meer flexibele tools te leren om bij te blijven met de superieure markt van middelgrote big data sets, voor real-time gegevensverwerking binnen enkele seconden.
Om het momentum voor snellere big data verwerking te ondersteunen, is er een toenemende vraag naar Apache Spark ontwikkelaars die hun expertise kunnen valideren in het implementeren van best practices voor Spark – om complexe big data oplossingen te bouwen. In samenwerking met en big data-industrie-experts -we hebben een lijst samengesteld van top 50 Apache Spark Interviewvragen en antwoorden die studenten / professionals zullen helpen een big data-ontwikkelaarsinterview te nagelen en het talentaanbod voor Spark-ontwikkelaars in verschillende industriesegmenten te overbruggen.
Klik hier om een lijst met 50+ opgeloste, end-to-end Big Data en Machine Learning Projectoplossingen (herbruikbare code + video’s)
Bedrijven zoals Amazon, Shopify, Alibaba en eBay gebruiken Apache Spark voor hun big data-implementaties – de vraag naar Spark-ontwikkelaars zal naar verwachting exponentieel toenemen. Google Trends bevestigt een “hockey-stick-achtige groei” in de adoptie en het bewustzijn van Spark bij organisaties in verschillende industrieën. Spark wordt populair vanwege zijn vermogen om event streaming aan te kunnen en big data sneller te verwerken dan Hadoop MapReduce. 2017 is de beste tijd om je Apache Spark-vaardigheden aan te scherpen en een vruchtbare carrière na te streven als een data analytics-professional, data scientist of big data developer.
Deze Apache Spark-projecten zullen je helpen vaardigheden te ontwikkelen waardoor je in aanmerking komt om te solliciteren naar Spark-ontwikkelaarsfuncties.
Top 50 Apache Spark Interview Vragen en Antwoorden
Voorbereiding is erg belangrijk om de nerveuze energie bij elk big data sollicitatiegesprek te verminderen. Ongeacht de big data-expertise en -vaardigheden die men bezit, is elke kandidaat bang voor het face to face big data-vacaturegesprek. Hoewel er geen manier is om precies te voorspellen welke vragen zullen worden gesteld in een big data of spark developer sollicitatiegesprek – deze Apache spark interview vragen en antwoorden kunnen u helpen zich beter voor te bereiden op deze interviews.
1) Vergelijk Spark vs Hadoop MapReduce
Criteria |
Hadoop MapReduce |
Apache Spark |
Geheugen |
Gebruikt het geheugen van het Hadoop-cluster niet maximaal. | Slaat gegevens op in het geheugen met behulp van RDD’s. |
Schijfgebruik |
MapReduce is schijfgeoriënteerd. | Spark cached gegevens in het geheugen en zorgt voor een lage latency. |
Verwerking |
Ondersteund wordt alleen batchverwerking | Ondersteund wordt real-time verwerking via spark streaming. |
Installatie |
Is gebonden aan Hadoop. | Is niet gebonden aan Hadoop. |
Eenvoudigheid, flexibiliteit en prestaties zijn de belangrijkste voordelen van het gebruik van Spark ten opzichte van Hadoop.
- Spark is 100 keer sneller dan Hadoop voor de verwerking van big data, omdat het de gegevens in het geheugen opslaat, door ze in Resilient Distributed Databases (RDD) te plaatsen.
- Spark is gemakkelijker te programmeren, omdat het wordt geleverd met een interactieve modus.
- Het biedt volledig herstel met behulp van lineage grafiek wanneer er iets misgaat.
Refer Spark vs Hadoop
Klik hier om 52+ opgeloste, herbruikbare projectoplossingen in Big Data – Spark
2) Wat is Shark?
De meeste van de gegevens gebruikers kennen alleen SQL en zijn niet goed in programmeren. Shark is een tool, ontwikkeld voor mensen met een database achtergrond – om toegang te krijgen tot Scala MLib mogelijkheden via Hive zoals SQL interface. Shark tool helpt data-gebruikers draaien Hive op Spark – het aanbieden van compatibiliteit met Hive metastore, query’s en data.
3) Noem een aantal use cases waar Spark beter presteert dan Hadoop in processing.
- Sensor Data Processing -Apache Spark’s ‘In-memory computing’ werkt hier het beste, omdat gegevens worden opgehaald en gecombineerd uit verschillende bronnen.
- Spark heeft de voorkeur boven Hadoop voor real-time query’s van gegevens
- Stream Processing – Voor het verwerken van logs en het detecteren van fraude in live streams voor waarschuwingen, is Apache Spark de beste oplossing.
4) Wat is een Sparse Vector?
Een sparse vector heeft twee parallelle arrays – een voor indices en de andere voor waarden. Deze vectoren worden gebruikt voor het opslaan van niet-nul entries om ruimte te besparen.
5) Wat is RDD?
RDDs (Resilient Distributed Datasets) zijn een basis abstractie in Apache Spark die de data die in het systeem komt representeren in object formaat. RDDs worden gebruikt voor in-memory berekeningen op grote clusters, op een fout tolerante manier. RDDs zijn read-only geportioneerde, verzameling records, die –
- Immutable – RDDs kunnen niet worden gewijzigd.
- Resilient – Als een node die de partitie bevat faalt, neemt de andere node de data over.
Build a Big Data Project Portfolio by working on real-time apache spark projects
6) Leg uit over transformaties en acties in de context van RDDs.
Transformaties zijn functies die op verzoek worden uitgevoerd, om een nieuwe RDD te produceren. Alle transformaties worden gevolgd door acties. Enkele voorbeelden van transformaties zijn map, filter en reduceByKey.
Acties zijn de resultaten van RDD berekeningen of transformaties. Nadat een actie is uitgevoerd, gaat de data uit RDD terug naar de lokale machine. Enkele voorbeelden van acties zijn reduce, collect, first, en take.
7) Wat zijn de talen die door Apache Spark worden ondersteund voor het ontwikkelen van big data applicaties?
Scala, Java, Python, R en Clojure
8) Kun je Spark gebruiken om data opgeslagen in Cassandra databases te benaderen en te analyseren?
Ja, dat is mogelijk als je Spark Cassandra Connector gebruikt.
9) Is het mogelijk om Apache Spark op Apache Mesos te draaien?
Ja, Apache Spark kan worden uitgevoerd op de hardware clusters die worden beheerd door Mesos.
10) Leg uit over de verschillende cluster managers in Apache Spark
De 3 verschillende clusters managers die worden ondersteund in Apache Spark zijn:
- YARN
- Apache Mesos -Heeft rijke resource scheduling mogelijkheden en is zeer geschikt om Spark samen met andere applicaties te draaien. Het is voordelig wanneer meerdere gebruikers interactieve shells draaien omdat het de CPU toewijzing tussen commando’s verkleint.
- Standalone deployments -Geschikt voor nieuwe deployments die alleen draaien en makkelijk op te zetten zijn.
11) Hoe kan Spark verbonden worden met Apache Mesos?
Om Spark met Mesos te verbinden-
- Configureer het spark driver programma om verbinding te maken met Mesos. Het binaire pakket van Spark moet op een voor Mesos toegankelijke locatie staan. (of)
- Installeer Apache Spark op dezelfde locatie als die van Apache Mesos en configureer de property ‘spark.mesos.executor.home’ om te wijzen naar de locatie waar het is geïnstalleerd.
12) Hoe kunt u gegevensoverdrachten minimaliseren wanneer u met Spark werkt?
Het minimaliseren van gegevensoverdrachten en het vermijden van shuffling helpt bij het schrijven van Spark-programma’s die op een snelle en betrouwbare manier worden uitgevoerd. De verschillende manieren waarop data transfers geminimaliseerd kunnen worden bij het werken met Apache Spark zijn:
- Het gebruik van Broadcast Variable- Broadcast variabele verhoogt de efficiëntie van joins tussen kleine en grote RDDs.
- Het gebruik van Accumulators – Accumulators helpen bij het parallel bijwerken van de waarden van variabelen tijdens het uitvoeren.
- De meest voorkomende manier is het vermijden van operaties ByKey, repartition of andere operaties die shuffles triggeren.
13) Waarom is er een behoefte aan broadcast variabelen bij het werken met Apache Spark?
Dit zijn alleen-lezen variabelen, aanwezig in het cachegeheugen op elke machine. Bij het werken met Spark, elimineert het gebruik van broadcast variabelen de noodzaak om kopieën van een variabele voor elke taak te verzenden, zodat gegevens sneller kunnen worden verwerkt. Broadcastvariabelen helpen bij het opslaan van een opzoektabel in het geheugen, wat de ophaalefficiëntie verbetert in vergelijking met een RDD-opzoeking ().
14) Is het mogelijk om Spark en Mesos samen met Hadoop te draaien?
Ja, het is mogelijk om Spark en Mesos samen met Hadoop te draaien door elk van deze als een afzonderlijke service op de machines te lanceren. Mesos fungeert als een uniforme planner die taken toewijst aan Spark of Hadoop.
15) Wat is lineage graph?
De RDD’s in Spark, zijn afhankelijk van een of meer andere RDD’s. De representatie van de afhankelijkheden tussen RDDs staat bekend als de lineage graph. Lineage graph-informatie wordt gebruikt om elke RDD op verzoek te berekenen, zodat wanneer een deel van persistente RDD verloren gaat, de gegevens die verloren zijn gegaan, kunnen worden hersteld met behulp van de lineage graph-informatie.
16) Hoe kun je automatische clean-ups in Spark triggeren om geaccumuleerde metadata te verwerken?
Je kunt de clean-ups triggeren door de parameter ‘spark.cleaner.ttl’ of door de langlopende jobs in verschillende batches te verdelen en de tussenliggende resultaten naar de schijf te schrijven.
17) Leg uit wat de belangrijkste bibliotheken zijn die het Spark Ecosysteem vormen
- Spark MLib- Machine learning library in Spark voor veelgebruikte leeralgoritmes zoals clustering, regressie, classificatie, etc.
- Spark Streaming – Deze bibliotheek wordt gebruikt om real-time streaming data te verwerken.
- Spark GraphX – Spark API voor parallelle grafiekberekeningen met basisoperatoren zoals joinVertices, subgraph, aggregateMessages, etc.
- Spark SQL – Helpt bij het uitvoeren van SQL-achtige queries op Spark-data met behulp van standaard visualisatie- of BI-tools.
18) Wat zijn de voordelen van het gebruik van Spark met Apache Mesos?
Het maakt schaalbare partitionering tussen verschillende Spark-instanties en dynamische partitionering tussen Spark en andere big data frameworks.
19) Wat is het belang van Sliding Window operatie?
Sliding Window regelt de overdracht van datapakketten tussen verschillende computernetwerken. Spark Streaming bibliotheek biedt windowed berekeningen waarbij de transformaties op RDDs worden toegepast over een glijdend venster van data. Telkens wanneer het venster verschuift, worden de RDDs die binnen het specifieke venster vallen gecombineerd en bewerkt om nieuwe RDDs van de windowed DStream te produceren.
20) Wat is een DStream?
Discretized Stream is een opeenvolging van Resilient Distributed Databases die een stroom van data representeren. DStreams kunnen worden aangemaakt vanuit verschillende bronnen, zoals Apache Kafka, HDFS, en Apache Flume. DStreams hebben twee operaties –
- Transformaties die een nieuwe DStream produceren.
- Output operaties die data naar een extern systeem schrijven.
21) Wanneer Spark applicaties worden uitgevoerd, is het dan nodig om Spark op alle nodes van YARN cluster te installeren?
Spark hoeft niet te worden geïnstalleerd wanneer een taak onder YARN of Mesos wordt uitgevoerd, omdat Spark bovenop YARN of Mesos clusters kan worden uitgevoerd zonder enige verandering in het cluster.
22) Wat is Catalyst framework?
Catalyst framework is een nieuw optimalisatieraamwerk dat aanwezig is in Spark SQL. Het stelt Spark in staat om SQL-query’s automatisch te transformeren door nieuwe optimalisaties toe te voegen om een sneller verwerkingssysteem op te bouwen.
23) Noem een paar bedrijven die Apache Spark in productie gebruiken.
Pinterest, Conviva, Shopify, Open Table
24) Welke spark-bibliotheek maakt betrouwbaar delen van bestanden op geheugensnelheid over verschillende clusterframeworks mogelijk?
Tachyon
Work On Interesting Data Science Projects using Spark to build an impressive project portfolio!
25) Why is BlinkDB used?
BlinkDB is een query engine voor het uitvoeren van interactieve SQL queries op enorme hoeveelheden data en rendert query resultaten gemarkeerd met zinvolle error bars. BlinkDB helpt gebruikers een balans te vinden tussen ‘query-nauwkeurigheid’ en responstijd.
26) Hoe kun je Hadoop en Spark vergelijken in termen van gebruiksgemak?
Hadoop MapReduce vereist programmeren in Java, wat moeilijk is, hoewel Pig en Hive het aanzienlijk eenvoudiger maken. Het leren van de syntaxis van Pig en Hive kost tijd. Spark heeft interactieve API’s voor verschillende talen zoals Java, Python of Scala en bevat ook Shark, d.w.z. Spark SQL voor SQL-liefhebbers – waardoor het relatief gemakkelijker te gebruiken is dan Hadoop.
27) Wat zijn de veelgemaakte fouten die ontwikkelaars maken bij het uitvoeren van Spark-toepassingen?
De ontwikkelaars maken vaak de fout om-
- De webservice meerdere keren te draaien door meerdere clusters te gebruiken.
- Alles op de lokale node draaien in plaats van het te distribueren.
De ontwikkelaars moeten hiermee oppassen, omdat Spark gebruik maakt van het geheugen voor de verwerking.
28) Wat is het voordeel van een Parquet-bestand?
Parquet file is een columnar format file die helpt –
- Limit I/O operations
- Consumes less space
- Fetches only required columns.
29) Wat zijn de verschillende data bronnen die beschikbaar zijn in SparkSQL?
- Parquet file
- JSON Datasets
- Hive tabellen
30) Hoe gebruikt Spark Hadoop?
Spark heeft zijn eigen cluster management computation en gebruikt voornamelijk Hadoop voor opslag.
Voor de complete lijst van opgeloste Big Data projecten – KLIK HIER
31) Wat zijn de belangrijkste kenmerken van Apache Spark die u aanspreken?
- Spark biedt geavanceerde analytische opties zoals grafiekalgoritmen, machine learning, streaming data, enz
- Het heeft ingebouwde API’s in meerdere talen zoals Java, Scala, Python en R
- Het heeft goede prestatieverbeteringen, omdat het helpt een toepassing in het Hadoop-cluster tien keer sneller op schijf en 100 keer sneller in het geheugen uit te voeren.
32) Wat versta je onder Pair RDD?
Speciale operaties kunnen worden uitgevoerd op RDDs in Spark met behulp van key/value pairs en dergelijke RDDs worden Pair RDDs genoemd. Pair RDDs stellen gebruikers in staat om elke sleutel parallel te benaderen. Ze hebben een reduceByKey () methode die data verzamelt op basis van elke sleutel en een join () methode die verschillende RDDs samenvoegt, gebaseerd op de elementen die dezelfde sleutel hebben.
33) Welke kies je voor een project -Hadoop MapReduce of Apache Spark?
Het antwoord op deze vraag hangt af van het gegeven project scenario – zoals bekend maakt Spark gebruik van geheugen in plaats van netwerk en schijf I/O. Spark gebruikt echter een grote hoeveelheid RAM en vereist een speciale machine om effectieve resultaten te produceren. Dus de beslissing om Hadoop of Spark te gebruiken varieert dynamisch met de eisen van het project en het budget van de organisatie.
34) Leg uit over de verschillende soorten transformaties op DStreams?
- Stateless Transformations- Verwerking van de batch is niet afhankelijk van de output van de vorige batch. Voorbeelden – map (), reduceByKey (), filter ().
- Stateful Transformations- Verwerking van de batch hangt af van de tussenresultaten van de vorige batch. Voorbeelden -Transformaties die afhankelijk zijn van schuifvensters.
35) Leg uit over de populaire use cases van Apache Spark
Apache Spark wordt voornamelijk gebruikt voor
- Iteratief machine leren.
- Interactieve data analyse en verwerking.
- Stream verwerking
- Sensor data verwerking
36) Is Apache Spark goed geschikt voor Reinforcement learning?
Nee. Apache Spark werkt alleen goed voor eenvoudige machine learning algoritmen zoals clustering, regressie, classificatie.
37) Wat is Spark Core?
Het heeft alle basisfunctionaliteiten van Spark, zoals – geheugenbeheer, foutherstel, interactie met opslagsystemen, het plannen van taken, etc.
38) Hoe kun je de elementen verwijderen met een sleutel die in een andere RDD aanwezig is?
Gebruik de functie subtractByKey ()
39) Wat is het verschil tussen persist() en cache()
persist () staat de gebruiker toe om het opslagniveau te specificeren terwijl cache () het standaard opslagniveau gebruikt.
40) Wat zijn de verschillende niveaus van persistentie in Apache Spark?
Apache Spark persisteert automatisch de tussenliggende data van verschillende shuffle operaties, maar het wordt vaak gesuggereerd dat gebruikers persist () methode op de RDD aanroepen in het geval ze van plan zijn om het te hergebruiken. Spark heeft verschillende persistentie niveaus om de RDDs op schijf of in het geheugen op te slaan of als een combinatie van beide met verschillende replicatie niveaus.
De verschillende opslag/persistentie niveaus in Spark zijn –
- MEMORY_ONLY
- MEMORY_ONLY_SER
- MEMORY_AND_DISK
- MEMORY_AND_DISK_SER, DISK_ONLY
- OFF_HEAP
41) Hoe gaat Spark om met monitoring en logging in Standalone mode?
Spark heeft een webgebaseerde gebruikersinterface voor het monitoren van het cluster in standalone modus die de cluster- en jobstatistieken laat zien. De log output voor elke job wordt weggeschreven naar de werkdirectory van de slave nodes.
42) Biedt Apache Spark check pointing?
Lineage graphs zijn altijd nuttig om RDDs te herstellen van een storing, maar dit is over het algemeen tijdrovend als de RDDs lange lineage chains hebben. Spark heeft een API voor check pointing, d.w.z. een REPLICATE vlag om te persisteren. Echter, de beslissing over welke data te checkpoint – wordt genomen door de gebruiker. Checkpoints zijn nuttig wanneer de lineage-grafieken lang zijn en brede afhankelijkheden hebben.
43) Hoe kun je Spark-jobs binnen Hadoop MapReduce starten?
Met SIMR (Spark in MapReduce) kunnen gebruikers elke Spark-taak binnen MapReduce uitvoeren zonder beheerdersrechten te hoeven hebben.
44) Hoe gebruikt Spark Akka?
Spark gebruikt Akka in principe voor het plannen. Alle werkers verzoeken om een taak aan de master na het registreren. De master wijst gewoon de taak toe. Spark gebruikt Akka voor berichtenuitwisseling tussen de werkers en de masters.
45) Hoe kun je hoge beschikbaarheid in Apache Spark bereiken?
- Het implementeren van herstel van een enkele node met een lokaal bestandssysteem
- Het gebruiken van Stand-by Masters met Apache ZooKeeper.
46) Hadoop gebruikt replicatie om fouttolerantie te bereiken. Hoe wordt dit bereikt in Apache Spark?
Het gegevensopslagmodel in Apache Spark is gebaseerd op RDD’s. RDDs helpen fouttolerantie te bereiken door lineage. RDD heeft altijd de informatie over hoe te bouwen van andere datasets. Als een partitie van een RDD verloren gaat door een storing, helpt lineage alleen die specifieke verloren partitie op te bouwen.
47) Leg uit over de kerncomponenten van een gedistribueerde Spark-applicatie.
- Driver- Het proces dat de main () methode van het programma uitvoert om RDD’s te maken en transformaties en acties op ze uit te voeren.
- Executor -De worker processen die de individuele taken van een Spark job uitvoeren.
- Cluster Manager-een pluggable component in Spark, om Executors en Drivers te lanceren. De cluster manager maakt het mogelijk dat Spark bovenop andere externe managers kan draaien, zoals Apache Mesos of YARN.
48) Wat versta je onder Lazy Evaluation?
Spark is intellectueel in de manier waarop het op data opereert. Wanneer je Spark vertelt om op een gegeven dataset te werken, luistert het naar de instructies en maakt er een notitie van, zodat het niet vergeet – maar het doet niets, tenzij gevraagd wordt om het eindresultaat. Wanneer een transformatie zoals map () wordt aangeroepen op een RDD, wordt de operatie niet onmiddellijk uitgevoerd. Transformaties in Spark worden niet geëvalueerd totdat je een actie uitvoert. Dit helpt bij het optimaliseren van de totale gegevensverwerking workflow.
49) Definieer een worker node.
Een node die de Spark applicatie code kan uitvoeren in een cluster kan een worker node worden genoemd. Een worker node kan meer dan één worker hebben, wat wordt geconfigureerd door de SPARK_ WORKER_INSTANCES eigenschap in te stellen in het spark-env.sh bestand. Slechts een werker wordt gestart als de SPARK_ WORKER_INSTANCES eigenschap niet is gedefinieerd.
50) Wat verstaat u onder SchemaRDD?
Een RDD die bestaat uit rij-objecten (wrappers rond basis string of integer arrays) met schema-informatie over het type van de gegevens in elke kolom.
51) Wat zijn de nadelen van het gebruik van Apache Spark boven Hadoop MapReduce?
Apache spark is niet goed schaalbaar voor rekenintensieve taken en verbruikt veel systeembronnen. De in-memory capaciteit van Apache Spark vormt soms een grote blokkade voor kostenefficiënte verwerking van big data. Ook heeft Spark zijn eigen bestand management systeem en dus moet worden geïntegreerd met andere cloud-gebaseerde data platformen of apache hadoop.
52) Is het nodig om spark te installeren op alle nodes van een YARN cluster tijdens het uitvoeren van Apache Spark op YARN?
Nee, het is niet nodig omdat Apache Spark draait op de top van YARN.
53) Wat verstaat u onder Executor Memory in een Spark applicatie?
Elke spark applicatie heeft dezelfde vaste heap grootte en een vast aantal kernen voor een spark executor. De heap grootte is wat wordt aangeduid als de Spark executor geheugen dat wordt gecontroleerd met de spark.executor.memory eigenschap van de -executor-memory vlag. Elke spark applicatie zal een executor hebben op elke worker node. De executor geheugen is in feite een maatstaf voor hoeveel geheugen van de werknemer node zal de toepassing te gebruiken.
54) Wat doet de Spark Engine doen?
Spark engine plant, distribueert en bewaakt de gegevens toepassing over de spark cluster.
55) Wat maakt Apache Spark goed in low-latency werklasten, zoals grafiekverwerking en machine learning?
Apache Spark slaat gegevens in het geheugen voor snellere modelbouw en opleiding. Machine learning algoritmes vereisen meerdere iteraties om een resulterend optimaal model te genereren en op vergelijkbare wijze doorkruisen grafiekalgoritmes alle knooppunten en randen.Deze low latency workloads die meerdere iteraties nodig hebben, kunnen leiden tot betere prestaties.
56) Is het nodig om Hadoop op te starten om een Apache Spark-toepassing te draaien?
Hadoop opstarten is niet verplicht om een Spark-toepassing te draaien. Omdat er geen aparte opslag in Apache Spark is, gebruikt het Hadoop HDFS, maar het is niet verplicht. De gegevens kunnen worden opgeslagen in het lokale bestandssysteem, kan worden geladen vanuit het lokale bestandssysteem en processed.
57) Wat is de standaard niveau van parallellisme in Apache Spark?
Als de gebruiker niet expliciet opgeven dan het aantal partities worden beschouwd als standaard niveau van parallellisme in Apache Spark.
58) Leg uit over de gemeenschappelijke workflow van een Spark-programma
- De voorste stap in een Spark-programma omvat het creëren van input RDD’s van externe gegevens.
- Gebruik verschillende RDD-transformaties zoals filter() om nieuwe getransformeerde RDD’s te maken op basis van de bedrijfslogica.
- persist() alle tussenliggende RDD’s die in de toekomst mogelijk moeten worden hergebruikt.
- Lanceer verschillende RDD-acties() zoals first(), count() om parallelle berekeningen te starten, die vervolgens worden geoptimaliseerd en uitgevoerd door Spark.
59) Hoe identificeer je in een bepaald Spark-programma of een bepaalde bewerking een transformatie of een actie is?
Je kunt de bewerking identificeren op basis van het terugkeertype –
i) De bewerking is een actie, als het terugkeertype anders is dan RDD.
ii) De bewerking is een transformatie, als het terugkeertype hetzelfde is als de RDD.
60) Wat is volgens u een veelgemaakte fout die apache spark-ontwikkelaars maken bij het gebruik van spark?
- Het aanhouden van de vereiste grootte van shuffle blocks.
- Spark-ontwikkelaar maken vaak fouten met het beheren van directed acyclic graphs (DAG’s.)
61) Stel dat er een RDD is met de naam ProjectPrordd die een enorme lijst met getallen bevat. De volgende vonk code is geschreven om het gemiddelde te berekenen –
def ProjectProAvg(x, y):
return (x+y)/2.0;
avg = ProjectPrordd.reduce(ProjectProAvg);
Wat is er mis met bovenstaande code en hoe ga je dit corrigeren?
Gemiddelde functie is noch commutatief noch associatief. De beste manier om het gemiddelde te berekenen is om het eerst op te tellen en dan te delen door het aantal zoals hieronder getoond –
def sum(x, y):
return x+y;
totaal =ProjectPrordd.reduce(sum);
avg = totaal / ProjectPrordd.count();
De bovenstaande code zou echter tot een overflow kunnen leiden als het totaal groot wordt. De beste manier om het gemiddelde te berekenen is dus elk getal te delen door aantal en dan op te tellen zoals hieronder getoond –
cnt = ProjectPrordd.count();
def divideByCnt(x):
return x/cnt;
myrdd1 = ProjectPrordd.map(divideByCnt);
avg = ProjectPrordd.reduce(sum);
Q. Stel dat ik een enorme lijst met getallen heb in een bestand in HDFS. Elke regel heeft één nummer.En ik wil een
Spark SQL Interview Vragen
1) Leg het verschil uit tussen Spark SQL en Hive.
- Spark SQL is sneller dan Hive.
- Elke Hive query kan gemakkelijk worden uitgevoerd in Spark SQL, maar andersom is niet waar.
- Spark SQL is een bibliotheek terwijl Hive een framework is.
- Het is niet verplicht om in Spark SQL een metastore aan te maken, maar wel in Hive.
- Spark SQL leidt automatisch het schema af terwijl in Hive het schema expliciet moet worden aangegeven…
Spark Streaming Interview Questions
1) Noem enkele bronnen van waaruit Spark streaming component real-time data kan verwerken.
Apache Flume, Apache Kafka, Amazon Kinesis
2) Noem enkele bedrijven die Spark Streaming al gebruiken.
Uber, Netflix, Pinterest.
3) Wat is de onderste abstractielaag in de Spark Streaming API ?
DStream.
4) Wat versta je onder ontvangers in Spark Streaming ?
Ontvangers zijn speciale entiteiten in Spark Streaming die data van verschillende databronnen consumeren en deze verplaatsen naar Apache Spark. Ontvangers worden meestal gemaakt door streaming contexten als langlopende taken op verschillende executors en gepland om te werken in een round robin manier met elke ontvanger neemt een core.
We nodigen de big data gemeenschap om de meest gestelde Apache Spark Interview vragen en antwoorden te delen, in de commentaren hieronder – om big data sollicitatiegesprekken te vergemakkelijken voor alle aspirant-analytics professionals.
5) Hoe berekent u het aantal executors dat nodig is om real-time verwerking te doen met behulp van Apache Spark? Welke factoren moeten worden overwogen voor de beslissing over het aantal nodes voor real-time processing?
Het aantal nodes kan worden besloten door benchmarking van de hardware en het overwegen van meerdere factoren, zoals optimale doorvoer (netwerksnelheid), geheugengebruik, de uitvoering frameworks worden gebruikt (YARN, Standalone of Mesos) en rekening houdend met de andere banen die worden uitgevoerd binnen deze uitvoerende frameworks samen met spark.
6) Wat is het verschil tussen Spark Transform in DStream en map?
tranform functie in spark streaming stelt ontwikkelaars in staat om Apache Spark transformaties te gebruiken op de onderliggende RDD’s voor de stream. map functie in hadoop wordt gebruikt voor een element naar element transform en kan worden uitgevoerd met behulp van transform.Idealiter , map werkt op de elementen van Dstream en transform stelt ontwikkelaars in staat om te werken met RDD’s van de DStream. map is een elementaire transformatie terwijl transform is een RDD transformatie.
Check Out Top Scala Interview Vragen voor Spark Developers.