Apache Pil: Den lilla data accelerator som kan

0
154
arrow.png

För några år sedan, noterade vi framväxten av Apache Pil; vad som fångade vår uppmärksamhet var att tillskyndarna bestod av “who’ s who-lista” på över 20 committers från lik av Cloudera, MapR, Hortonworks, Salesforce.com, DataStax, Twitter, AWS, och Dremio.

Som vi kännetecknas det då, Pil var om big data, nästan bokstavligen, beklädnad sin anka upp i en… kolumnen. Pilen är en standard kolumnformat för kvarstående uppgifter på ett effektivt sätt i minnet. Man skulle kunna tro att i minnet beräkna skulle helt enkelt brute force prestanda, som var en av de ursprungliga drar Gnista. Men minnet är inte bara en snabb svart låda. Det är ett trick för att fylla på data så att den kan läsas effektivt, så att utvecklare ofta sprang ut ur minnet.

Utmaningen med att balansera, i detta fall lastning av data i minnet och utfodring av data från minnet för att beräkna är symptom på ett större urgamla problemet att vi används för att hänvisa till som balans i systemet. För år, Teradata säljs olika data warehousing apparater avsedda för data-intensiva, datorintensiva, eller blandade arbetsbelastning scenarier. Bara för att vi antingen har medfört att beräkna data, som i Hadoop kluster, eller separeras data från compute, i molnet, utmaningen är fortfarande den samma. I själva verket, den växer ännu mer komplicerat när du har problem med att verkligen ta resursbehov till mix: djupt lärande AI problem som crunch massor av data när du använder speciella GPU-hårdvara för att beräkna.

Apache Pil var tänkt att lösa en balans i systemet problem för data forskare: att se till att de inte kör slut på minne när du kör sina modeller eller kör av budget, eftersom de overallocated minne. Detta var inte ett imaginärt problem. För Wes McKinney, Python och seriell open source utvecklare som skapade den Pandor analys av data biblioteket för Python (bland andra projekt), det var frustration för att träffa det minne väggen. Han lärde sig den hårda vägen att om du hade en stor uppsättning data, skulle du bättre avsätta minst 5 – 10 gånger den mängd RAM-minne till den. Det måste finnas ett bättre sätt att minska rättegång, fel, kostnaden och komplexiteten för att flytta data i minnet och få tillgång till det.

McKinney, som är för närvarande chef för Ursa Labs, och Jacques Nadeau, CTO på Dremio, hjälpte till att lansera Pilen, som blev en Apache-projektet tillbaka i 2016. Pilen fick stöd av en kritisk massa av big data open source-projekt från get-go: Hadoop ekosystem, Spark, Storm, Cassandra, Pandor, HBase, och Kudu. Det kan läsa data från populära format såsom Apache -, Parkett -, CSV-filer, Apache ORC, och JSON. Dess inledande stöd för Python har vuxit till 11 programmeringsspråk, bland dem C++, Java, Python, R, C#, JavaScript, Ruby. När sättas in, till exempel med Spark, det har varit avstämda för att förbättra prestanda på upp till 25x.

Med tanke på det stora stöd, Apache project sida som listar ett urval av produkter och projekt med hjälp av Pil är lite en besvikelse, eftersom några av dem är välkända namn. Exempel inkluderar Fletcher, en ram för att konvertera en Pil schema att arbeta med Fpga: er; Graphistry, en visuell undersökning plattform som används för säkerhet, anti-bedrägeri, och tillhörande utredningar, och Ray, en hög-prestanda distribuerad exekvering ram utformad för maskininlärning och AI-program. Men där det finns rök, finns det eld; hämta priser från projektet portalen är i genomsnitt cirka 1 miljon varje månad. Gemenskapen är fortfarande aktiva; under det senaste året nästan 300 personer har skickat in mer än 3000 bidrag.

Så där är Pil som pekar från här? Det mest spännande projektet innebär att dess roll som grund för cuDF, DataFrame foundation bibliotek för FORSEN som är byggd runt Pil. Det är Gandiva, den nya SQL-kärna för Pilen som utvecklats av Dremio som är baserad på LLVM open source-kompilator. Ett annat initiativ är runt transporter så att data konverteras om en Pil nod kan vara ett effektivt sätt kopieras eller flyttas till en annan.

Men den saknade biten är streaming, där hastigheten av inkommande data utgör en särskild utmaning. Det finns några tidiga försök att fylla på Pilen noder i microbatches från Kafka. Och, som i kanten blir smartare (särskilt lärande tillämpas), det kommer också att göra känsla för Pilen att komma på en liten yta version, och med det, skörd del av arbetet kring transport för utfodring filtreras eller aggregerade data upp till molnet.

Det är inte tid för Pilen folk att packa ihop och gå hem ännu.

Relaterade Ämnen:

Digital Omvandling

Robotteknik

Sakernas Internet

Innovation

Affärssystem

CXO