Programmering

7 verktøy for å temme stordata med Hadoop

Flommene som ødela harddiskindustrien i Thailand er nå et halvt år gammel, og prisene per terabyte faller endelig nok en gang. Det betyr at data vil begynne å hoper seg opp og folk rundt på kontoret vil lure på hva som kan gjøres med det. Kanskje det er noen innsikt i disse loggfilene? Kanskje litt statistisk analyse vil finne noen gullklumper begravd i all den støyen? Kanskje vi kan finne nok forandring begravet i sofaputene til disse filene for å gi oss alle et løft?

Bransjen har nå et moteord, "big data", for hvordan vi skal gjøre noe med den enorme mengden informasjon som hoper seg opp. "Big data" erstatter "business intelligence", som undergraver "rapportering", som setter en finere glans på "regneark", som slår ut de gammeldagse "utskriftene." Ledere som for lenge siden studerte utskrifter, ansetter nå matematikere som hevder å være big data-spesialister for å hjelpe dem med å løse det samme gamle problemet: Hva selger og hvorfor?

[Også på: Enterprise Hadoop: Stort databehandling gjort enklere | Utforsk dagens trender og løsninger i BI med sin interaktive Business Intelligence iGuide. | Oppdag hva som er nytt i forretningsapplikasjoner med 's Technology: Applications newsletter. ]

Det er ikke rettferdig å antyde at disse moteordene er enkle erstatninger for hverandre. Big data er en mer komplisert verden fordi skalaen er mye større. Informasjonen er vanligvis spredt over en rekke servere, og arbeidet med å samle data må koordineres mellom dem. Tidligere ble arbeidet i stor grad delegert til databaseprogramvaren, som ville bruke sin magiske JOIN-mekanisme til å kompilere tabeller, og deretter legge opp kolonnene før de avleverte rektangelet med data til rapporteringsprogramvaren som ville paginere det. Dette var ofte vanskeligere enn det høres ut. Databaseprogrammerere kan fortelle deg historiene om kompliserte JOIN-kommandoer som vil låse databasen deres i timevis, da den prøvde å produsere en rapport for sjefen som ønsket kolonnene hans akkurat slik.

Spillet er mye annerledes nå. Hadoop er et populært verktøy for å organisere serverne og stativene, og NoSQL-databaser er populære verktøy for å lagre data på disse stativene. Disse mekanismene kan være mye kraftigere enn den gamle enkeltmaskinen, men de er langt fra så polerte som de gamle databaseserverne. Selv om SQL kan være komplisert, var det ofte mye enklere å skrive JOIN-spørringen for SQL-databasene enn å samle informasjon fra dusinvis av maskiner og kompilere den til ett sammenhengende svar. Hadoop-jobber er skrevet på Java, og det krever et annet nivå av raffinement. Verktøyene for å takle store data begynner bare å pakke denne distribuerte datakraften på en måte som er litt enklere å bruke.

Mange av de store dataverktøyene jobber også med NoSQL-datalagre. Disse er mer fleksible enn tradisjonelle relasjonsdatabaser, men fleksibiliteten avviker ikke så mye fra fortiden som Hadoop. NoSQL-spørsmål kan være enklere fordi databasedesignet motvirker den kompliserte tabellstrukturen som driver kompleksiteten i å jobbe med SQL. Den største bekymringen er at programvaren må forutse muligheten for at ikke hver rad vil ha noen data for hver kolonne.

Den største utfordringen kan være å takle forventningene som er bygget opp av den store filmen "Moneyball". Alle sjefene har sett det og absorbert budskapet om at noen smarte statistikker kan gjøre et lite budsjettlag til en verdensserier. Ikke glem at Oakland Athletics aldri vant World Series i løpet av "Moneyball" -tiden. Det er magien i Michael Lewis prosa. Sjefene tenker alle, "Kanskje hvis jeg kan få god statistikk, vil Hollywood ansette Brad Pitt for å spille meg i filmversjonen."

Ingen av programvaren i denne samlingen vil nærme seg å lokke Brad Pitt til å be agenten sin om en kopi av manuset til filmversjonen av Hadoop-jobben din. Det må komme fra deg eller de andre menneskene som jobber med prosjektet. Å forstå dataene og finne det riktige spørsmålet å stille er ofte mye mer komplisert enn å få Hadoop-jobben til å løpe raskt. Det sier virkelig noe fordi disse verktøyene bare er halvparten av jobben.

For å få tak i løftet om feltet, lastet jeg ned noen store dataverktøy, blandet inn data og så stirret på svarene for innsikt i Einstein-grad. Informasjonen kom fra loggfiler til nettstedet som selger noen av bøkene mine (wayner.org), og jeg lette etter en ide om hva som solgte og hvorfor. Så jeg pakket ut programvaren og stilte spørsmålene.

 

Big data-verktøy: Jaspersoft BI Suite

Jaspersoft-pakken er en av ledere med åpen kildekode for å produsere rapporter fra databasekolonner. Programvaren er godt polert og allerede installert i mange bedrifter som gjør SQL-tabeller til PDF-filer som alle kan granske på møter.

Selskapet hopper på big data-toget, og dette betyr å legge til et programvarelag for å koble sin rapportgenererende programvare til stedene der big data blir lagret. JasperReports Server tilbyr nå programvare for å suge opp data fra mange av de store lagringsplattformene, inkludert MongoDB, Cassandra, Redis, Riak, CouchDB og Neo4j. Hadoop er også godt representert, med JasperReports som gir en Hive-kontakt for å nå innsiden av HBase.

Denne innsatsen føles som om den fremdeles starter - mange sider i dokumentasjonswiki er tomme, og verktøyene er ikke fullt integrert. Den visuelle spørringsdesigneren fungerer for eksempel ikke ennå med Cassandra's CQL. Du får skrive disse spørsmålene for hånd.

Når du har fått dataene fra disse kildene, vil Jaspersofts server koke den ned til interaktive tabeller og grafer. Rapportene kan være ganske sofistikerte interaktive verktøy som lar deg bore ned i forskjellige hjørner. Du kan be om flere og flere detaljer hvis du trenger dem.

Dette er et velutviklet hjørne av programvareverdenen, og Jaspersoft utvider seg ved å gjøre det lettere å bruke disse sofistikerte rapportene med nyere datakilder. Jaspersoft tilbyr ikke spesielt nye måter å se på dataene på, bare mer sofistikerte måter å få tilgang til data lagret på nye steder. Jeg syntes dette var overraskende nyttig. Aggregasjonen av dataene mine var nok til å gi grunnleggende mening om hvem som skulle til nettstedet og når de skulle dit.

 

Big data verktøy: Pentaho Business Analytics

Pentaho er en annen programvareplattform som startet som en rapportgenererende motor; det er, som JasperSoft, forgrenet til store data ved å gjøre det lettere å absorbere informasjon fra de nye kildene. Du kan koble Pentahos verktøy til mange av de mest populære NoSQL-databasene som MongoDB og Cassandra. Når databasene er koblet til, kan du dra og slippe kolonnene i visninger og rapporter som om informasjonen kom fra SQL-databaser.

Jeg syntes de klassiske sorteringstabellene var veldig nyttige for å forstå hvem som brukte mest tid på nettstedet mitt. Bare å sortere etter IP-adresse i loggfilene avslørte hva de tunge brukerne gjorde.

Pentaho tilbyr også programvare for å tegne HDFS-fildata og HBase-data fra Hadoop-klynger. Et av de mer spennende verktøyene er det grafiske programmeringsgrensesnittet kjent som enten Kettle eller Pentaho Data Integration. Den har en rekke innebygde moduler som du kan dra og slippe på et bilde, og deretter koble dem til. Pentaho har grundig integrert Hadoop og de andre kildene i dette, slik at du kan skrive koden din og sende den ut for å utføre på klyngen.

 

Big data-verktøy: Karmasphere Studio og Analyst

Mange av de store dataverktøyene begynte ikke livet som rapporteringsverktøy. Karmasphere Studio, for eksempel, er et sett med plug-ins bygget på toppen av Eclipse. Det er en spesialisert IDE som gjør det lettere å opprette og kjøre Hadoop-jobber.

Jeg hadde en sjelden følelse av glede da jeg begynte å konfigurere en Hadoop-jobb med dette utviklerverktøyet. Det er en rekke stadier i livet til en Hadoop-jobb, og Karmasphere-verktøyene fører deg gjennom hvert trinn og viser de delvise resultatene underveis. Jeg antar at feilsøkere alltid har gjort det mulig for oss å kikke inn i mekanismen mens den gjør sitt arbeid, men Karmasphere Studio gjør noe litt bedre: Når du konfigurerer arbeidsflyten, viser verktøyene tilstanden til testdataene ved hvert trinn. Du ser hvordan de midlertidige dataene vil se ut når de blir kuttet fra hverandre, analysert og deretter redusert.

Karmasphere distribuerer også et verktøy kalt Karmasphere Analyst, som er designet for å forenkle prosessen med å pløye gjennom alle dataene i en Hadoop-klynge. Den leveres med mange nyttige byggesteiner for å programmere en god Hadoop-jobb, som underrutiner for å komprimere Zippede loggfiler. Deretter strenger den sammen og parametrer Hive-samtalene for å produsere en tabell med utdata for gjennomgang.

 

Big data-verktøy: Talend Open Studio

Talend tilbyr også en formørkelsesbasert IDE for å stramme sammen databehandlingsjobber med Hadoop. Verktøyene er designet for å hjelpe med dataintegrering, datakvalitet og datahåndtering, alt med underrutiner tilpasset disse jobbene.

Talend Studio lar deg bygge opp jobbene dine ved å dra og slippe små ikoner på et lerret. Hvis du vil få en RSS-feed, vil Talend-komponenten hente RSS og legge til proxying om nødvendig. Det er dusinvis av komponenter for å samle informasjon og dusinvis til for å gjøre ting som en "fuzzy match". Deretter kan du levere resultatene.

Å stramme sammen blokker visuelt kan være enkelt etter at du får en følelse av hva komponentene faktisk gjør og ikke gjør. Dette var lettere for meg å finne ut da jeg begynte å se på kildekoden som ble satt sammen bak lerretet. Talend lar deg se dette, og jeg synes det er et ideelt kompromiss. Visuell programmering kan virke som et høyt mål, men jeg har funnet ut at ikonene aldri kan representere mekanismene med nok detaljer til å gjøre det mulig å forstå hva som skjer. Jeg trenger kildekoden.

Talend vedlikeholder også TalendForge, en samling med åpen kildekodeutvidelser som gjør det lettere å jobbe med selskapets produkter. De fleste verktøy ser ut til å være filtre eller biblioteker som knytter Talends programvare til andre store produkter som Salesforce.com og SugarCRM. Du kan suge ned informasjon fra disse systemene til dine egne prosjekter, forenkle integrasjonen.

 

Big data verktøy: Skytree Server

Ikke alle verktøyene er designet for å gjøre det lettere å strikke sammen kode med visuelle mekanismer. Skytree tilbyr en pakke som utfører mange av de mer sofistikerte maskinlæringsalgoritmene. Alt som trengs er å skrive riktig kommando i en kommandolinje.

Skytree er mer fokusert på tarmen enn den skinnende GUI. Skytree Server er optimalisert for å kjøre en rekke klassiske maskinlæringsalgoritmer på dataene dine ved hjelp av en implementering som selskapet hevder kan være 10 000 ganger raskere enn andre pakker. Det kan søke gjennom dataene dine på jakt etter klynger av matematisk lignende elementer, og deretter invertere dette for å identifisere avvikere som kan være problemer, muligheter eller begge deler. Algoritmene kan være mer presise enn mennesker, og de kan søke gjennom store mengder data på jakt etter oppføringene som er litt utenom det vanlige. Dette kan være svindel - eller en spesielt god kunde som vil bruke og bruke.

Den gratis versjonen av programvaren tilbyr de samme algoritmene som den proprietære versjonen, men den er begrenset til datasett på 100.000 rader. Dette bør være tilstrekkelig for å fastslå om programvaren passer godt.

 

Big data verktøy: Tableau Desktop og Server

Tableau Desktop er et visualiseringsverktøy som gjør det enkelt å se på dataene dine på nye måter, og deretter skjære dem opp og se på det på en annen måte. Du kan til og med blande dataene med andre data og undersøke det i enda et lys. Verktøyet er optimalisert for å gi deg alle kolonnene for dataene, og la deg blande dem før du fyller dem i en av dusinvis av grafiske maler som er gitt.

Tableau Software begynte å omfavne Hadoop for flere versjoner siden, og nå kan du behandle Hadoop "akkurat som du ville gjort med hvilken som helst dataforbindelse." Tableau stoler på Hive for å strukturere spørsmålene, og prøver deretter sitt beste for å cache så mye informasjon i minnet for å la verktøyet være interaktivt. Mens mange av de andre rapporteringsverktøyene er bygget på en tradisjon for å generere rapportene offline, ønsker Tableau å tilby en interaktiv mekanisme slik at du kan kutte og skjære dataene dine igjen og igjen. Caching hjelper deg med å håndtere noe av ventetiden til en Hadoop-klynge.

Programvaren er godt polert og estetisk tiltalende. Ofte fant jeg meg selv å reslicere dataene bare for å se det i enda en graf, selv om det ikke var mye nytt å lære ved å bytte fra et kakediagram til et søylediagram og videre. Programvareteamet inneholder tydeligvis et antall mennesker med noe kunstnerisk talent.

 

Big data verktøy: Splunk

Splunk er litt forskjellig fra de andre alternativene. Det er ikke akkurat et rapportgenererende verktøy eller en samling AI-rutiner, selv om det oppnår mye av det underveis. Det oppretter en indeks over dataene dine som om dataene dine var en bok eller en tekstblokk. Ja, databaser bygger også indekser, men Splunk's tilnærming er mye nærmere en tekstsøkprosess.

Denne indekseringen er overraskende fleksibel. Splunk kommer allerede innstilt på applikasjonen min, noe som gir loggfiler mening, og den suger dem helt opp. Den selges også i en rekke forskjellige løsningspakker, inkludert en for overvåking av en Microsoft Exchange-server og en annen for å oppdage nettangrep. Indeksen hjelper til med å korrelere dataene i disse og flere andre vanlige scenarier på serversiden.

$config[zx-auto] not found$config[zx-overlay] not found