
Årsagerne til, at folk migrerer til Spark. Billede: Databricks
Hadoop og MapReduce, parallel programmering paradigme og API oprindeligt bag Hadoop, der bruges til at være synonymt. I dag, når vi taler om Hadoop, at vi for det meste tale om et økosystem af værktøjer, der er bygget op omkring den fælles filsystem lag af HDFS, og programmeres via Gnist.
Gnist er den nye Hadoop. En af de afgørende tendenser i denne tid, hvilket bekræftes af både praktikere på området og undersøgelser, er de i massevis flytte til Gnist til Hadoop brugere. Spark er i sig selv et økosystem af former, der tilbyder muligheder for SQL-baseret adgang til data, streaming, og machine learning.
Folk flytter til Gnist til en række årsager, herunder lettere programmering paradigme. Lettere end MapReduce ikke nødvendigvis nem selv, og der er en række fælder, når programmering og implementering af Gnist-applikationer.
Problemet med Gnist og hvad man skal gøre ved det
Så hvorfor er folk, der migrerer til Gnist? Top årsagen synes at være performance: 91 procent af 1615 mennesker fra over 900 organisationer, der deltager i Databricks Apache Gnist Survey 2016 nævnt dette som deres begrundelse for at bruge Spark. Men der er mere. Advanced analytics og nem programmering er næsten lige så vigtigt, citeret af 82 procent og 76 procent af de adspurgte.
Alle kilder i industrien, vi har talt med i løbet af de seneste måneder peger i samme retning: programmering mod Gnist ‘ s API er lettere end at bruge MapReduce, så MapReduce ses som en arv API på dette punkt. Leverandører vil fortsætte med at tilbyde støtte til det, så længe der er kunder, der benytter det, men stort set alle nye udvikling er Gnist-baseret.
Ikke alle, der bruger Spark har det samme ansvar eller færdigheder. Billede: Databricks
Som Ash Munshi, Pepperdata administrerende DIREKTØR udtrykker det: “Gnist tilbyder en samlet ramme og SQL-adgang, hvilket betyder, at du kan lave avancerede analyser, og det er, hvor de store penge er. Plus det er nemmere at programmere: giver dig en flot abstraktionslag, så du behøver ikke at bekymre dig om alle de oplysninger, du har for at styre, når man arbejder med MapReduce. Programmering på et højere niveau betyder, at det er nemmere for folk at forstå ned og beskidte detaljer og til at implementere deres apps.”
Dejligt. Hvad er problemet så? Munshi påpeger, at bagsiden af Spark abstraktion, især når du kører i Hadoop er GARN miljø, der ikke gør det alt for let at udtrække metadata, er, at en masse af udførelse detaljer er skjult. Dette betyder, at det er svært at lokalisere, hvilke linjer af kode medføre, at der sker noget i denne komplekse distribuerede system, og det er også svært at tune ydeevne.
Har en kompleks distribueret system i, hvilke programmer der køre betyder også, at du har være opmærksom på ikke bare din egen programmets gennemførelse og resultater, men også i den bredere execution environment). Pepperdata kalder denne klynge vejr problem: de har brug for at vide i hvilken sammenhæng, at et program er kørende. Et fælles problem i klynge implementering for eksempel er uoverensstemmelse i køre gange på grund af forbigående arbejdsmængder.
Data Forskere får automation: tuning Gnist klynger
Pepperdata er ikke den eneste, der har taget til efterretning. Et par måneder tilbage Alpine Data også peget på det samme emne, om end med en lidt anden udformning. Alpine Data, der pegede på, at Gnisten er meget følsomme for, hvordan arbejdspladser er konfigureret og ressourcer, der kræver data forskere til at have en dyb forståelse af både Gnist og konfiguration og udnyttelse af Hadoop klynge, der anvendes.
Manglende korrekt ressource Gnist arbejdspladser, vil ofte føre til svigt på grund af out of memory fejl, der fører til ineffektive og tidskrævende, trial-and-error ressourcemæssige eksperimenter. Dette krav er væsentligt begrænser nytten af Gnist, og påvirkninger dets udnyttelse over dybt kvalificerede data forskere, ifølge Alpine Data.
Dette er baseret på dyrekøbt erfaring, som Alpine Data, co-founder & CPO Steven Hillion forklaret. På et tidspunkt i en af Alpine Data ‘ s kunder var ved hjælp af Alpine Data Videnskab platform (ADSP) til at gøre nogle af de helt store skala behandling på forbrugernes data: milliarder af rækker og tusindvis af variabler. ADSP bruger Gnist under motorhjelmen for data crunching job, men problemet var, at disse job enten ville tage for evigt, eller pause.
Årsagen var, at tuning af Spark parametre i klyngen var ikke rigtige. Mennesker, der bruger ADSP i dette tilfælde blev data forskere, ikke data ingeniører. De var dygtige i at finde de rigtige modeller til at behandle data og uddrage indsigter ud af dem, men ikke nødvendigvis i at indsætte dem på en skala.
Resultatet var, at data forskerne ville få på telefonen med ADSP ingeniører til at hjælpe dem med at diagnosticere problemer og foreslå konfigurationer. Da dette naturligvis ikke ville skala, Alpine Data kom op med idéen om at bygge den logik deres ingeniører, der anvendes i denne proces til ADSP. Alpine Data, der siger, at det er arbejdet, gør det muligt for kunder at opbygge workflows inden for få dage og anvende dem inden for få timer uden manuel indgriben.
Så næste skridt var at samle dette som en del af ADSP og begynde at sende det, hvilket Alpine Labs gjorde i Efteråret 2016. Dette blev præsenteret i Spark-Topmødet Øst 2017, og Hillion siger reaktion har været “næsten overvældende. I Boston havde vi en lang kø af mennesker, der kommer for at spørge om dette”.
Hillion understreget, at deres tilgang er processuelle, der ikke er baseret på ML. Det kan lyde mærkeligt, i betragtning af deres ML ekspertise. Alpine Labs men siger, at dette er ikke en statisk konfiguration, men virker ved at bestemme den rette ressourcemæssige og konfiguration for den Gnist job på køre-tid er baseret på den størrelse og dimensioner af de input-data, kompleksiteten af den Gnist job, og tilgængeligheden af ressourcer på Hadoop klynge.
“Du kan tænke på det som en slags ligning, hvis du vil, i en forenklet måde, som udtrykker, hvordan vi tune parametrene” siger Hillion. “Indstilling af disse parametre kommer gennem erfaring, så vi på en måde er uddannelse den model, ved hjælp af vores egne data. Jeg vil ikke kalde det machine learning, men så igen, vi er ved at lære noget fra maskiner.”
Data Ingeniører får automation: analyse af Gnist-applikationer
Pepperdata nu også tilbyder en løsning for Gnist automatisering med sidste uges frigivelse af Pepperdata Code Analyzer for Apache Gnist (PCAAS), men om en anden målgruppe med en anden strategi. Data forskere gøre for 23 procent af alle Spark-brugere, men de data, ingeniører og arkitekter, kombineret gøre for i alt 63 procent af alle Spark brugere. Dette er publikum Pepperdata sigter på med PCAAS.
Arkitekter er de mennesker, der design (big data) systemer, og de data, ingeniører er dem, der arbejder med data forskere til at tage deres analyser til produktionen. Munshi siger PCAAS har til formål at give dem evnen til at tage at køre Gnist ansøgninger, analysere dem for at se, hvad der foregår, og derefter binde til specifikke linjer kode.
Tankegangen er, at ved at være i stand til at forstå mere om, CPU-udnyttelse, garbage collection eller I/O, der er relateret til deres applikationer, ingeniører og arkitekter skal være i stand til at optimere applikationer. PCAAS har evnen til at gøre en del af debugging, ved at isolere mistænkelige blokke af kode og spørge ingeniører til at se ind i dem.
PCAAS har til formål at hjælpe med at tyde cluster vejret så godt, gør det muligt at forstå, om kørslen uoverensstemmelser bør henføres til en bestemt anvendelse, eller at arbejdsbyrden på tidspunktet for udførelsen. Munshi påpeger også det faktum, at GARN stærkt bruger statiske planlægning, mens du bruger mere dynamiske tilgange kan resultere i bedre hardware udnyttelse.
Bedre hardware udnyttelse er helt klart en top bekymring i form af ROI, men for at forstå hvordan dette relaterer til PCAAS og hvorfor Pepperdata hævder at være i stand til at overvinde GARN ‘ s begrænsninger, er vi nødt til at se, hvor PCAAS sidder i Pepperdata produkt suite. PCAAS er Pepperdata er seneste tilføjelse til en linje af produkter, herunder Anvendelse Profiler, den Klynge Analyzer, Kapacitet Optimizer, og den Politik Enforcer.
De tre sidstnævnte er om indsamling af telemetri data, mens de to førstnævnte er om at gribe ind i real-tid, siger Munshi. Pepperdata s overordnede ambition er at bygge bro mellem Dev og Ops, og Munshi mener, at PCAAS er et skridt i den retning: et værktøj Ops kan give Devs at selv-diagnosticere problemer, hvilket resulterer i et bedre samspil og en hurtigere iteration cykler.
Det er interessant, Hillion også enig i, at der er en klar opdeling mellem proprietære algoritmer for tuning ML job og de oplysninger, som en Gnist klynge kan give at informere disse algoritmer. Der er forskelle såvel som ligheder i Alpine Labs og Pepperdata tilbud selv.
Hvor er det hen?
Til at begynde med, både tilbud ikke kan stå alene. Spark auto-tuning er en del af ADSP, mens PCAAS er afhængig af telemetri data, der leveres af andre Pepperdata løsninger. Så hvis du kun er interesseret i at automatisere dele af din Gnist cluster tuning eller anvendelse profilering, tough luck.
Når man diskuterer med Hillion, vi påpegede det faktum, at ikke alle, der er interesseret i Spark auto tuning vil nødvendigvis ønsker at abonnere på ADSP i sin helhed, så måske gør denne kapacitet til rådighed som en stand-alone produkt ville give mening. Hillion antydede, at en del af deres løsning, der handler om at få en Gnist cluster metadata fra GARN kan være åbne kilder, mens auto-tuning kapaciteter sælges muligvis separat på et tidspunkt.
Alpine Labs er bekymret for, om at give væk for meget af deres IP, men dette problem kan være at holde dem tilbage fra kommerciel succes. Når du står i en lignende situation, ikke hver organisation, der reagerer på samme måde. Sag i punkt: Metamarkets bygget Druid og derefter åbne kilder. Hvorfor? “Vi har bygget det, fordi vi havde brug for det, og vi har indkøbt det, fordi hvis vi ikke havde, noget andet ville have erstattet det.”
AI lock-in loop: store investeringer skaber større resultater avle større investeringer. Billede: Azeem Azhar / Schibsted
I alle retfærdighed selv, for Metamarkets Druid er bare infrastruktur, ikke er core business, mens det for Alpine Labs ADSP er deres brød og smør. Som for Pepperdata, de leger med tanken om at give gratis adgang til PCAAS for ikke-produktion klynger for at få fodfæste i organisationer. Den argumentation er testet og sandt: få ingeniører til at kende og elske et redskab, og dette redskab i sidste ende vil sprede sig og finde sin vej i IT-budgetter.
Enten måde, hvis du er blandt dem, der ville have gavn af en sådan automatisering muligheder for din Gnist implementering, for den tid, bliver du ikke har meget af et valg. Du bliver nødt til at enten at betale en præmie, og forpligte sig til en platform, eller vent, indtil en sådan kapacitet til sidst sive ned.
Det større billede er dog klart: automation, er at finde en mere og mere central rolle i big data. Big data platforme kan være substrat, hvor automatisering applikationer er udviklet, men det kan også virke den anden vej rundt: automatisering kan hjælpe med at lindre big data smerte punkter.
Husk AI lås i løkken? First mover fordel kan vise sig at være stor her, som sidder på toppen af millioner telemetri data punkter kan gøre underværker for dit produkt. Det er præcis den position Pepperdata er i, og det har til hensigt at udnytte den til at gælde Dybt Lære at tilføje intelligent vedligeholdelse kapaciteter, samt tjene penge på det på andre måder.
Om Pepperdata formår at udføre på denne strategi, og hvordan andre vil reagere, er et andet spørgsmål, men på dette tidspunkt ser det som en strategi, der har flere chancer for at tilgodese behovene for big data automation services.