Sist uppdaterad:
Frågorna som ställs vid en intervju för en Big Data-utvecklare eller en apache Spark-utvecklarjobbintervju kan falla in i någon av följande kategorier baserade på Spark Ecosystem Components –
Därutöver, Det är viktigt att visa projekterfarenhet av följande –
|
Med den ökande efterfrågan från branschen, att bearbeta stora datamängder i snabbare takt – Apache Spark får ett enormt momentum när det gäller företagsanvändning. Hadoop MapReduce stödde väl behovet av att bearbeta stora data snabbt, men det fanns alltid ett behov bland utvecklare att lära sig mer flexibla verktyg för att hålla jämna steg med den överlägsna marknaden för medelstora stora datamängder, för databehandling i realtid inom några sekunder.
För att stödja drivkraften för snabbare bearbetning av stora data finns det en ökande efterfrågan på Apache Spark-utvecklare som kan validera sin expertis för att implementera bästa praxis för Spark – för att bygga komplexa lösningar för stora data. I samarbete med experter inom big data-branschen har vi sammanställt en lista med de 50 bästa frågorna och svaren från Apache Spark-intervjuer som kommer att hjälpa studenter och yrkesverksamma att klara en intervju med en big data-utvecklare och överbrygga talangutbudet för Spark-utvecklare inom olika branschsegment.
Klicka här för att se en lista med 50+ lösta, end-to-end Big Data and Machine Learning Project Solutions (återanvändbar kod + videor)
Företag som Amazon, Shopify, Alibaba och eBay använder Apache Spark för sina big data-implementeringar – efterfrågan på Spark-utvecklare förväntas växa exponentiellt. Google Trends bekräftar att det sker en ”hockey-stick-liknande tillväxt” när det gäller att införa Spark i företag och medvetenhet hos organisationer i olika branscher. Spark blir populär på grund av sin förmåga att hantera händelseströmning och bearbeta stora data snabbare än Hadoop MapReduce. 2017 är den bästa tiden för att finslipa dina Apache Spark-färdigheter och göra en fruktbar karriär som dataanalytiker, datavetare eller big data-utvecklare.
Dessa Apache Spark-projekt kommer att hjälpa dig att utveckla färdigheter som kommer att göra dig berättigad att ansöka om jobbroller som Spark-utvecklare.
Top 50 Apache Spark intervjufrågor och svar
Förberedelser är mycket viktiga för att minska den nervösa energin vid alla jobbintervjuer för stora data. Oavsett vilken expertis och kompetens inom big data man har, fruktar alla kandidater den personliga jobbintervjun för big data. Även om det inte går att förutsäga exakt vilka frågor som kommer att ställas vid en anställningsintervju för big data- eller spark-utvecklare – kan dessa frågor och svar från Apache spark-intervjuer hjälpa dig att förbereda dig bättre inför dessa intervjuer.
1) Jämför Spark vs Hadoop MapReduce
Kriterier |
Hadoop MapReduce |
Apache Spark |
Minne |
Använder inte hadoopklustrets minne maximalt. | Spar data i minnet med hjälp av RDD:s. |
Diskanvändning |
MapReduce är diskorienterad. | Spark cacher data i minnet och säkerställer låg latenstid. |
Bearbetning |
Endast batchbearbetning stöds | Stödjer bearbetning i realtid genom spark streaming. |
Installation |
Är bunden till hadoop. | Är inte bunden till Hadoop. |
Enkelthet, flexibilitet och prestanda är de stora fördelarna med att använda Spark framför Hadoop.
- Spark är 100 gånger snabbare än Hadoop för bearbetning av stora datamängder eftersom den lagrar data i minnet genom att placera dem i Resilient Distributed Databases (RDD).
- Spark är lättare att programmera eftersom den har ett interaktivt läge.
- Den ger fullständig återhämtning med hjälp av linjediagrammet närhelst något går fel.
Referera Spark vs Hadoop
Klicka här för att se 52+ lösta, återanvändbara projektlösningar inom Big Data – Spark
2) Vad är Shark?
De flesta datanvändare kan bara SQL och är inte bra på programmering. Shark är ett verktyg som utvecklats för personer med databasbakgrund – för att få tillgång till Scala MLib-funktioner genom ett SQL-gränssnitt som liknar Hive. Shark-verktyget hjälper dataanvändare att köra Hive på Spark – och erbjuder kompatibilitet med Hive metastore, frågor och data.
3) Nämn några användningsfall där Spark överträffar Hadoop i behandling.
- Sensordatabehandling -Apache Spark’s ”In-memory computing” fungerar bäst här, eftersom data hämtas och kombineras från olika källor.
- Spark är att föredra framför Hadoop för realtidssökning av data
- Stream Processing – För behandling av loggar och upptäckt av bedrägerier i live-strömmar för varningar är Apache Spark den bästa lösningen.
4) Vad är en sparse vector?
En sparse vector har två parallella matriser – en för index och den andra för värden. Dessa vektorer används för att lagra poster som inte är noll för att spara utrymme.
5) Vad är RDD?
RDD:er (Resilient Distributed Datasets) är en grundläggande abstraktion i Apache Spark som representerar data som kommer in i systemet i objektformat. RDDs används för beräkningar i minnet på stora kluster, på ett feltolerant sätt. RDD:er är skrivskyddade delar av en samling poster som är –
- Immutabla – RDD:er kan inte ändras.
- Resilient – Om en nod med partitionen går sönder tar den andra noden emot data.
Uppbygg en projektportfölj för stora data genom att arbeta med apache spark-projekt i realtid
6) Förklara om transformationer och åtgärder i samband med RDD:er.
Transformationer är funktioner som exekveras på begäran för att producera en ny RDD. Alla transformationer följs av åtgärder. Några exempel på transformationer är map, filter och reduceByKey.
Aktioner är resultaten av RDD-beräkningar eller transformationer. När en åtgärd har utförts flyttas data från RDD tillbaka till den lokala maskinen. Några exempel på åtgärder är reduce, collect, first och take.
7) Vilka språk stöds av Apache Spark för att utveckla applikationer för stora data?
Scala, Java, Python, R och Clojure
8) Kan man använda Spark för att komma åt och analysera data som lagras i Cassandra-databaser?
Ja, det är möjligt om man använder Spark Cassandra Connector.
9) Är det möjligt att köra Apache Spark på Apache Mesos?
Ja, Apache Spark kan köras på de hårdvarukluster som hanteras av Mesos.
10) Förklara de olika klusterhanterarna i Apache Spark
De tre olika klusterhanterarna som stöds i Apache Spark är:
- YARN
- Apache Mesos -har rika möjligheter till resursschemaläggning och är väl lämpad för att köra Spark tillsammans med andra applikationer. Det är fördelaktigt när flera användare kör interaktiva shells eftersom det skalar ner CPU-allokeringen mellan kommandon.
- Standalone-installationer – Väl lämpad för nya installationer som bara körs och är lätta att konfigurera.
11) Hur kan Spark anslutas till Apache Mesos?
För att ansluta Spark till Mesos-
- Konfigurera drivrutinsprogrammet Spark så att det kan ansluta till Mesos. Spark binärpaket bör finnas på en plats som är tillgänglig för Mesos. (eller)
- Installera Apache Spark på samma plats som Apache Mesos och konfigurera egenskapen ”spark.mesos.executor.home” så att den pekar på den plats där den är installerad.
12) Hur kan du minimera dataöverföringar när du arbetar med Spark?
Minimering av dataöverföringar och undvikande av shuffling hjälper till att skriva Spark-program som körs på ett snabbt och tillförlitligt sätt. De olika sätten att minimera dataöverföringar när man arbetar med Apache Spark är följande:
- Användning av Broadcast Variable- Broadcast Variable förbättrar effektiviteten vid sammanfogningar mellan små och stora RDD:er.
- Användning av ackumulatorer – Ackumulatorer hjälper till att uppdatera värden på variabler parallellt under körning.
- Det vanligaste sättet är att undvika operationerna ByKey, repartition eller andra operationer som utlöser shuffles.
13) Varför behövs broadcast-variabler när man arbetar med Apache Spark?
Dessa är skrivskyddade variabler som finns i minnescachen på varje maskin. När man arbetar med Spark eliminerar användningen av broadcast-variabler behovet av att skicka kopior av en variabel för varje uppgift, så att data kan behandlas snabbare. Broadcast-variabler hjälper till att lagra en uppslagstabell i minnet, vilket förbättrar sökningseffektiviteten jämfört med en RDD-uppslagstabell ().
14) Är det möjligt att köra Spark och Mesos tillsammans med Hadoop?
Ja, det är möjligt att köra Spark och Mesos tillsammans med Hadoop genom att starta var och en av dessa som en separat tjänst på maskinerna. Mesos fungerar som en enhetlig schemaläggare som tilldelar uppgifter till antingen Spark eller Hadoop.
15) Vad är lineage graph?
RDDs i Spark, är beroende av en eller flera andra RDDs. Representationen av beroenden mellan RDD:er kallas lineage graph. Information om lineage graph används för att beräkna varje RDD på begäran, så att när en del av en persistent RDD går förlorad kan de förlorade uppgifterna återställas med hjälp av informationen om lineage graph.
16) Hur kan du utlösa automatiska rensningar i Spark för att hantera ackumulerade metadata?
Du kan utlösa rensningarna genom att ställa in parametern ”spark.cleaner.ttl” eller genom att dela upp långa jobb i olika omgångar och skriva de mellanliggande resultaten till disken.
17) Förklara de viktigaste biblioteken som utgör Spark-ekosystemet
- Spark MLib- Bibliotek för maskininlärning i Spark för vanligt förekommande inlärningsalgoritmer som klustring, regression, klassificering osv.
- Spark Streaming – Det här biblioteket används för att bearbeta strömmande data i realtid.
- Spark GraphX – Spark API för parallella beräkningar av grafer med grundläggande operatörer som joinVertices, subgraph, aggregateMessages etc.
- Spark SQL – Hjälper till att utföra SQL-liknande frågor på Spark-data med hjälp av standardverktyg för visualisering eller BI.
18) Vilka är fördelarna med att använda Spark med Apache Mesos?
Det ger skalbar partitionering mellan olika Spark-instanser och dynamisk partitionering mellan Spark och andra ramverk för stora data.
19) Vad är betydelsen av Sliding Window-operationen?
Sliding Window kontrollerar överföringen av datapaket mellan olika datornätverk. Spark Streaming-biblioteket tillhandahåller beräkningar med fönster där transformationerna på RDD:er tillämpas över ett glidande fönster av data. När fönstret glider kombineras och bearbetas de RDD:er som faller inom det särskilda fönstret för att producera nya RDD:er i den fönsterbaserade DStream.
20) Vad är en DStream?
Discretiserad ström är en sekvens av resilienta distribuerade databaser som representerar en ström av data. DStreams kan skapas från olika källor som Apache Kafka, HDFS och Apache Flume. DStreams har två operationer –
- Transformationer som producerar en ny DStream.
- Outputoperationer som skriver data till ett externt system.
21) När man kör Spark-applikationer, är det nödvändigt att installera Spark på alla noder i YARN-klustret?
Spark behöver inte installeras när du kör ett jobb under YARN eller Mesos eftersom Spark kan köras ovanpå YARN- eller Mesos-kluster utan att påverka någon förändring av klustret.
22) Vad är Catalyst-ramverket?
Catalyst-ramverket är ett nytt optimeringsramverk som finns i Spark SQL. Det gör det möjligt för Spark att automatiskt omvandla SQL-frågor genom att lägga till nya optimeringar för att bygga ett snabbare behandlingssystem.
23) Nämn några företag som använder Apache Spark i produktion.
Pinterest, Conviva, Shopify, Open Table
24) Vilket Spark-bibliotek möjliggör tillförlitlig fildelning med minneshastighet mellan olika klusterramverk?
Tachyon
Arbeta med intressanta datavetenskapsprojekt med Spark för att bygga en imponerande projektportfölj!
25) Varför används BlinkDB?
BlinkDB är en frågemotor för att utföra interaktiva SQL-frågor på enorma datamängder och återger frågeresultaten markerade med meningsfulla felstaplar. BlinkDB hjälper användarna att balansera ”frågenoggrannhet” med svarstid.
26) Hur kan du jämföra Hadoop och Spark när det gäller användarvänlighet?
Hadoop MapReduce kräver programmering i Java, vilket är svårt, även om Pig och Hive gör det betydligt enklare. Att lära sig syntaxen för Pig och Hive tar tid. Spark har interaktiva API:er för olika språk som Java, Python eller Scala och innehåller även Shark, dvs. Spark SQL för SQL-älskare – vilket gör det jämförelsevis lättare att använda än Hadoop.
27) Vilka är de vanligaste misstagen som utvecklare gör när de kör Spark-applikationer?
Utvecklare gör ofta misstaget att-
- Skriva webbtjänsten flera gånger genom att använda flera kluster.
- Kör allt på den lokala noden i stället för att distribuera det.
Utvecklare måste vara försiktiga med detta, eftersom Spark använder sig av minne för bearbetning.
28) Vad är fördelen med en Parquet-fil?
Parquet-fil är en fil i kolumnformat som hjälper –
- Begränsar I/O-operationer
- Konsumerar mindre utrymme
- Hämtar endast nödvändiga kolumner.
29) Vilka är de olika datakällorna som finns i SparkSQL?
- Parquet-fil
- JSON-datamängder
- Hive-tabeller
30) Hur använder Spark Hadoop?
Spark har sin egen klusterhanteringsberäkning och använder huvudsakligen Hadoop för lagring.
För en fullständig lista över lösta Big Data-projekt – KLICKA HÄR
31) Vilka är de viktigaste funktionerna i Apache Spark som du gillar?
- Spark erbjuder avancerade analysalternativ som grafalgoritmer, maskininlärning, strömmande data etc
- Det har inbyggda API:er i flera språk som Java, Scala, Python och R
- Det ger goda prestandaförbättringar, eftersom det hjälper till att köra ett program i Hadoop-klustret tio gånger snabbare på disk och 100 gånger snabbare i minne.
32) Vad förstår du med Pair RDD?
Speciella operationer kan utföras på RDD:er i Spark med hjälp av nyckel/värdepar och sådana RDD:er kallas Pair RDD:er. Pair RDDs gör det möjligt för användare att få tillgång till varje nyckel parallellt. De har en reduceByKey () metod som samlar in data baserat på varje nyckel och en join () metod som kombinerar olika RDDs tillsammans, baserat på de element som har samma nyckel.
33) Vilket av dem kommer du att välja för ett projekt -Hadoop MapReduce eller Apache Spark?
Svaret på den här frågan beror på det givna projektscenariot – som bekant använder Spark sig av minne i stället för nätverks- och disk I/O. Spark använder dock stora mängder RAM-minne och kräver en dedikerad maskin för att ge effektiva resultat. Så beslutet att använda Hadoop eller Spark varierar dynamiskt med projektets krav och organisationens budget.
34) Förklara om de olika typerna av transformationer på DStreams?
- Stateless Transformations- Bearbetning av partiet beror inte på utdata från det föregående partiet. Exempel – map (), reduceByKey (), filter ().
- Stateful Transformations- Behandlingen av satsen beror på mellanliggande resultat från den föregående satsen. Exempel -Transformationer som är beroende av glidande fönster.
35) Förklara om de populära användningsområdena för Apache Spark
Apache Spark används främst för
- Iterativ maskininlärning.
- Interaktiv dataanalys och databehandling.
- Stream processing
- Sensor data processing
36) Är Apache Spark lämplig för Reinforcement learning?
Nej. Apache Spark fungerar bara bra för enkla algoritmer för maskininlärning som klustring, regression och klassificering.
37) Vad är Spark Core?
Det har alla grundläggande funktioner för Spark, t.ex. minneshantering, felåterställning, interaktion med lagringssystem, schemaläggning av uppgifter osv.
38) Hur kan man ta bort element med en nyckel som finns i en annan RDD?
Använd subtractByKey () funktionen
39) Vad är skillnaden mellan persist() och cache()
persist () gör det möjligt för användaren att ange lagringsnivån medan cache () använder standardlagringsnivån.
40) Vilka är de olika nivåerna av persistens i Apache Spark?
Apache Spark persisterar automatiskt mellandata från olika shuffle-operationer, men det föreslås ofta att användarna anropar persist () metoden på RDD:n om de planerar att återanvända den. Spark har olika persistensnivåer för att lagra RDD:erna på disk eller i minne eller som en kombination av båda med olika replikeringsnivåer.
De olika lagrings-/persistensnivåerna i Spark är –
- MEMORY_ONLY
- MEMORY_ONLY_SER
- MEMORY_AND_DISK
- MEMORY_AND_DISK_SER, DISK_ONLY
- OFF_HEAP
41) Hur hanterar Spark övervakning och loggning i fristående läge?
Spark har ett webbaserat användargränssnitt för övervakning av klustret i fristående läge som visar kluster- och jobbstatistik. Loggutgången för varje jobb skrivs till arbetskatalogen för slavenoderna.
42) Erbjuder Apache Spark check pointing?
Linjediagram är alltid användbara för att återskapa RDD:er från ett fel, men detta är i allmänhet tidskrävande om RDD:erna har långa linjekedjor. Spark har ett API för check pointing dvs. en REPLICATE-flagga för persistans. Beslutet om vilka data som ska checkpointas – bestäms dock av användaren. Checkpoints är användbara när lineage graferna är långa och har breda beroenden.
43) Hur kan du starta Spark jobb inne i Hadoop MapReduce?
Med hjälp av SIMR (Spark in MapReduce) kan användarna köra vilket Spark jobb som helst inne i MapReduce utan att det krävs några administratörsrättigheter.
44) Hur använder Spark Akka?
Spark använder Akka i princip för schemaläggning. Alla arbetare begär en uppgift att bemästra efter registrering. Mästaren tilldelar bara uppgiften. Här använder Spark Akka för meddelandehantering mellan arbetarna och masterna.
45) Hur kan man uppnå hög tillgänglighet i Apache Spark?
- Implementing single node recovery with local file system
- Using StandBy Masters with Apache ZooKeeper.
46) Hadoop använder replikering för att uppnå feltolerans. Hur uppnås detta i Apache Spark?
Data lagringsmodellen i Apache Spark är baserad på RDDs. RDD:er hjälper till att uppnå feltolerans genom replikering. RDD har alltid information om hur man bygger från andra dataset. Om någon partition av en RDD går förlorad på grund av fel hjälper lineage till att bygga endast den specifika förlorade partitionen.
47) Förklara kärnkomponenterna i en distribuerad Spark-applikation.
- Drivrutin – Processen som kör huvudmetoden () i programmet för att skapa RDD:er och utföra omvandlingar och åtgärder på dem.
- Exekutor – Arbetsprocesserna som kör de enskilda uppgifterna i ett Spark-jobb.
- Cluster Manager – En pluggbar komponent i Spark, för att starta exekutorer och drivrutiner. Klusterhanteraren gör det möjligt för Spark att köra ovanpå andra externa administratörer som Apache Mesos eller YARN.
48) Vad förstår du med ”Lazy Evaluation”?
Spark är intellektuell i det sätt på vilket den bearbetar data. När du säger åt Spark att bearbeta ett visst dataset följer den instruktionerna och antecknar dem så att den inte glömmer dem – men den gör ingenting om den inte ombeds att ge dig slutresultatet. När en omvandling som map () anropas på en RDD utförs inte operationen omedelbart. Transformationer i Spark utvärderas inte förrän du utför en åtgärd. Detta bidrar till att optimera det övergripande arbetsflödet för databehandling.
49) Definiera en arbetsnod.
En nod som kan köra Spark-applikationskoden i ett kluster kan kallas arbetsnod. En arbetarnod kan ha mer än en arbetare som konfigureras genom att ställa in egenskapen SPARK_ WORKER_INSTANCES i filen spark-env.sh. Endast en arbetare startas om egenskapen SPARK_ WORKER_INSTANCES inte är definierad.
50) Vad förstår du med SchemaRDD?
En RDD som består av radobjekt (omslag kring grundläggande sträng- eller heltalsmatriser) med schemainformation om typen av data i varje kolumn.
51) Vilka är nackdelarna med att använda Apache Spark framför Hadoop MapReduce?
Apache Spark skalar inte bra för beräkningsintensiva jobb och förbrukar ett stort antal systemresurser. Apache Spark’s in-memory kapacitet är ibland ett stort hinder för kostnadseffektiv behandling av stora datamängder. Spark har också sitt eget filhanteringssystem och måste därför integreras med andra molnbaserade dataplattformar eller Apache Hadoop.
52) Är det nödvändigt att installera Spark på alla noder i ett YARN-kluster när man kör Apache Spark på YARN?
Nej, det är inte nödvändigt eftersom Apache Spark körs ovanpå YARN.
53) Vad menar du med exekutorminne i en Spark-applikation?
Varje Spark-applikation har samma fasta heap-storlek och samma fasta antal kärnor för en Spark-exekutor. Heapstorleken är det som kallas Spark-exekutorminne och som styrs med egenskapen spark.executor.memory för flaggan -executor-memory. Varje Spark-program kommer att ha en exekutor på varje arbetarnod. Executorminnet är i princip ett mått på hur mycket minne i arbetarnoden som programmet kommer att använda.
54) Vad gör Spark-motorn?
Spark-motorn schemalägger, distribuerar och övervakar dataapplikationen i Spark-klustret.
55) Vad gör Apache Spark bra för arbetsbelastningar med låg latenstid, t.ex. grafbearbetning och maskininlärning?
Apache Spark lagrar data i minnet för att snabbare bygga upp och träna modeller. Algoritmer för maskininlärning kräver flera iterationer för att generera en optimal modell och på samma sätt går algoritmer för grafer över alla noder och kanter.Dessa arbetsbelastningar med låg latens som kräver flera iterationer kan leda till ökad prestanda. Mindre diskåtkomst och kontrollerad nätverkstrafik gör stor skillnad när det är mycket data som ska bearbetas.
56) Är det nödvändigt att starta Hadoop för att köra en Apache Spark-applikation?
Det är inte nödvändigt att starta Hadoop för att köra en Spark-applikation. Eftersom det inte finns någon separat lagring i Apache Spark används Hadoop HDFS, men det är inte obligatoriskt. Data kan lagras i lokala filsystem, kan laddas från lokala filsystem och bearbetas.
57) Vad är standardnivån för parallellism i Apache Spark?
Om användaren inte uttryckligen anger detta anses antalet partitioner vara standardnivån för parallellism i Apache Spark.
58) Förklara det vanliga arbetsflödet i ett Spark-program
- Det första steget i ett Spark-program innebär att skapa RDD:er från externa data.
- Använd olika RDD-transformationer som filter() för att skapa nya transformerade RDD:er baserade på affärslogiken.
- Persist() eventuella mellanliggande RDD:er som kan behöva återanvändas i framtiden.
- Lansera olika RDD-åtgärder() som first(), count() för att påbörja en parallell beräkning , som sedan kommer att optimeras och utföras av Spark.
59) I ett givet Spark-program, hur identifierar du om en viss operation är transformation eller åtgärd?
Man kan identifiera operationen baserat på returtypen –
i) Operationen är en åtgärd, om returtypen är en annan än RDD.
ii) Operationen är transformation, om returtypen är samma som RDD.
60) Vad är enligt dig ett vanligt misstag som apache spark-utvecklare gör när de använder spark?
- Håller den erforderliga storleken på shuffle blocks.
- Spark-utvecklare gör ofta misstag när det gäller att hantera riktade acykliska grafer (DAG’s.)
61) Anta att det finns en RDD som heter ProjectPrordd och som innehåller en enorm lista med siffror. Följande sparkod är skriven för att beräkna medelvärdet –
def ProjectProAvg(x, y):
return (x+y)/2.0;
avg = ProjectPrordd.reduce(ProjectProAvg);
Vad är det som är fel med ovanstående kod och hur kommer du att rätta till det?
Medelvärdefunktionen är varken kommutativ eller associativ. Det bästa sättet att beräkna genomsnittet är att först summera det och sedan dividera det med antal enligt nedan –
def sum(x, y):
return x+y;
total =ProjectPrordd.reduce(sum);
avg = total / ProjectPrordd.count();
Ovanstående kod kan dock leda till ett överflöde om summan blir stor. Så det bästa sättet att beräkna genomsnittet är att dividera varje tal med antal och sedan addera enligt nedan –
cnt = ProjectPrordd.count();
def divideByCnt(x):
return x/cnt;
myrdd1 = ProjectPrordd.map(divideByCnt);
avg = ProjectPrordd.reduce(sum);
Q. Säg att jag har en enorm lista med siffror i en fil i HDFS. Varje rad har ett nummer. och jag vill com
Spark SQL Intervjufrågor
1) Förklara skillnaden mellan Spark SQL och Hive.
- Spark SQL är snabbare än Hive.
- Alla Hive-förfrågningar kan lätt exekveras i Spark SQL, men tvärtom är inte sant.
- Spark SQL är ett bibliotek medan Hive är ett ramverk.
- Det är inte obligatoriskt att skapa ett metastore i Spark SQL, men det är obligatoriskt att skapa ett metastore i Hive.
- Spark SQL skapar automatiskt schemat medan schemat i Hive måste deklareras uttryckligen….
Spark Streaming Intervjufrågor
1) Nämn några källor från vilka Spark-strömningskomponenten kan bearbeta data i realtid.
Apache Flume, Apache Kafka, Amazon Kinesis
2) Nämn några företag som redan använder Spark Streaming.
Uber, Netflix, Pinterest.
3) Vad är det nedersta abstraktionslagret i Spark Streaming API?
DStream.
4) Vad förstår du med mottagare i Spark Streaming?
Mottagare är speciella enheter i Spark Streaming som konsumerar data från olika datakällor och flyttar dem till Apache Spark. Mottagare skapas vanligtvis av streamingkontexter som långkörande uppgifter på olika exekutorer och schemaläggs för att fungera i en rundgång där varje mottagare tar en enda kärna.
Vi bjuder in big data-gemenskapen att dela med sig av de vanligaste frågorna och svaren från intervjuer med Apache Spark i kommentarerna nedan – för att underlätta intervjuer med big data-anställningar för alla blivande analytiker.
5) Hur beräknar du antalet exekutorer som krävs för att göra realtidsbehandling med hjälp av Apache Spark? Vilka faktorer måste beaktas för att bestämma antalet noder för realtidsbehandling?
Antalet noder kan bestämmas genom benchmarking av hårdvaran och genom att ta hänsyn till flera faktorer som optimal genomströmning (nätverkshastighet), minnesanvändning, de exekveringsramar som används (YARN, Standalone eller Mesos) och genom att ta hänsyn till de andra jobben som körs inom dessa exekveringsramar tillsammans med Spark.
6) Vad är skillnaden mellan Spark Transform i DStream och map?
Transform-funktionen i Spark Streaming gör det möjligt för utvecklare att använda Apache Spark-transformationer på de underliggande RDD:erna för strömmen. map-funktionen i Hadoop används för en element-till-element-transformation och kan implementeras med hjälp av transform.Ideellt sett fungerar map på elementen i Dstream och transform gör det möjligt för utvecklare att arbeta med RDD:erna i DStream. map är en elementär transformation medan transform är en RDD-transformation.
Check Out Top Scala Interview Questions for Spark Developers.