Programování

Sedm nástrojů pro zkrocení velkých dat pomocí Hadoop

Povodně, které zpustošily odvětví pevných disků v Thajsku, jsou nyní půl roku staré a ceny za terabajt konečně opět klesají. To znamená, že se data začnou hromadit a lidé v kanceláři se budou divit, co se s nimi dá dělat. Možná jsou v těchto souborech protokolu nějaké informace? Možná trocha statistické analýzy najde nějaké nugetky zlata pohřbené v celém tom hluku? Možná najdeme dostatek změn pohřbených v polštářích těchto souborů na gauči, abychom nám všem pomohli?

Toto odvětví má nyní módní slovo „velká data“, jak budeme dělat něco s hromaděním obrovského množství informací. „Big data“ nahrazují „business intelligence“, která zahrnovala „reporting“, což vrhlo hezčí lesk na „tabulky“, které porazily staromódní „výtisky“. Manažeři, kteří dávno studovali výtisky, nyní najímají matematiky, kteří se prohlašují za specialisty na velká data, aby jim pomohli vyřešit stejný starý problém: Co se prodává a proč?

[Také na: Enterprise Hadoop: Usnadnění zpracování velkých dat | Prozkoumejte aktuální trendy a řešení v BI pomocí interaktivní Business Intelligence iGuide. | Objevte novinky v podnikových aplikacích pomocí informačního zpravodaje Technologie: Aplikace. ]

Není fér naznačovat, že tato hesla jsou vzájemně jednoduchou náhradou. Big data jsou složitější svět, protože rozsah je mnohem větší. Informace jsou obvykle rozloženy na několik serverů a práce na kompilaci dat musí být mezi nimi koordinována. V minulosti byla práce z velké části delegována na databázový software, který pomocí svého kouzelného mechanismu JOIN sestavil tabulky, poté sečetl sloupce a předal obdélník dat reportovacímu softwaru, který by jej stránkoval. To bylo často těžší, než se zdá. Programátoři databází vám mohou vyprávět příběhy o komplikovaných příkazech JOIN, které by uzamkly jejich databázi na několik hodin, když se pokoušela vytvořit zprávu pro šéfa, který chtěl své sloupce jen tak.

Tato hra je nyní hodně odlišná. Hadoop je oblíbený nástroj pro organizaci stojanů a stojanů serverů a databáze NoSQL jsou populární nástroje pro ukládání dat na těchto stojanech. Tyto mechanismy mohou být mnohem výkonnější než starý jediný stroj, ale zdaleka nejsou tak vyleštěné jako staré databázové servery. Ačkoli SQL může být komplikovaný, psaní dotazu JOIN pro databáze SQL bylo často mnohem jednodušší než shromažďování informací z desítek strojů a jejich kompilace do jedné soudržné odpovědi. Úlohy Hadoop jsou psány v Javě a to vyžaduje další úroveň propracovanosti. Nástroje pro řešení velkých dat teprve začínají balit tento distribuovaný výpočetní výkon způsobem, který je o něco jednodušší.

Mnoho nástrojů pro velká data také pracuje s datovými úložišti NoSQL. Jedná se o flexibilnější než tradiční relační databáze, ale flexibilita není takovým odklonem od minulosti jako Hadoop. NoSQL dotazy mohou být jednodušší, protože návrh databáze odrazuje od komplikované struktury tabulek, která řídí složitost práce s SQL. Hlavní obavou je, že software musí předvídat možnost, že ne každý řádek bude mít pro každý sloupec nějaká data.

Největší výzvou může být vypořádání se s očekáváními vytvořenými velkým filmem „Moneyball“. Všichni šéfové to viděli a pohltili zprávu, že některé chytré statistiky mohou z malého rozpočtu udělat z vítěze World Series. Nevadí, že atletika v Oaklandu nikdy nevyhrála světovou sérii v době „Moneyball“. To je kouzlo prózy Michaela Lewise. Všichni šéfové si myslí: „Možná, pokud budu mít nějaké dobré statistiky, Hollywood si najme Brada Pitta, aby mě hrál ve filmové verzi.“

Žádný software v této kolekci nepřiblíží lákání Brada Pitta, aby požádal svého agenta o kopii skriptu pro filmovou verzi vaší úlohy Hadoop. To musí vycházet z vás nebo ostatních lidí pracujících na projektu. Pochopení dat a nalezení správné otázky, která se má zeptat, je často mnohem komplikovanější než rychlé spuštění úlohy Hadoop. To opravdu něco říká, protože tyto nástroje tvoří jen polovinu práce.

Abych zvládl příslib pole, stáhl jsem si několik nástrojů pro velká data, smíchal jsem data a pak jsem zíral na odpovědi na Einsteinův pohled. Informace pocházely ze souborů protokolu na web, který prodává některé moje knihy (wayner.org), a hledal jsem nějakou představu o tom, co se prodává a proč. Rozbalil jsem tedy software a položil otázky.

 

Big data tools: Jaspersoft BI Suite

Balíček Jaspersoft je jedním z vůdců open source pro vytváření zpráv ze sloupců databáze. Tento software je dobře vyleštěný a je již nainstalován v mnoha podnicích, které přeměňují tabulky SQL na soubory PDF, které může každý kontrolovat na schůzkách.

Společnost naskočí do velkého datového vlaku, což znamená přidání softwarové vrstvy pro připojení softwaru vytvářejícího zprávy k místům, kde se ukládají velká data. Server JasperReports nyní nabízí software pro nasávání dat z mnoha hlavních úložných platforem, včetně MongoDB, Cassandra, Redis, Riak, CouchDB a Neo4j. Hadoop je také dobře zastoupen, přičemž JasperReports poskytuje konektor Hive, aby se dostal dovnitř HBase.

Tato snaha má pocit, že se stále ještě spouští - mnoho stránek wiki dokumentace je prázdné a nástroje nejsou plně integrovány. Například vizuální návrhář dotazů zatím nefunguje s Cassandřinou CQL. Tyto dotazy můžete zadat ručně.

Jakmile získáte data z těchto zdrojů, server Jaspersoftu je převede na interaktivní tabulky a grafy. Zprávy mohou být docela sofistikované interaktivní nástroje, které vám umožní procházet do různých koutů. Pokud potřebujete, můžete požádat o další a další podrobnosti.

Toto je dobře rozvinutý kout softwarového světa a Jaspersoft se rozšiřuje tím, že usnadňuje používání těchto sofistikovaných zpráv s novějšími zdroji dat. Jaspersoft nenabízí nijak zvlášť nové způsoby, jak nahlížet na data, ale jen sofistikovanější způsoby přístupu k datům uloženým na nových místech. Považoval jsem to za překvapivě užitečné. Agregace mých údajů stačila na to, aby základní smysl toho, kdo šel na web, a kdy tam šli.

 

Big data tools: Pentaho Business Analytics

Pentaho je další softwarová platforma, která začala jako motor generující zprávy; stejně jako JasperSoft se větví na velká data tím, že usnadňuje vstřebávání informací z nových zdrojů. Nástroj Pentaho můžete připojit k mnoha nejoblíbenějším databázím NoSQL, jako jsou MongoDB a Cassandra. Jakmile jsou databáze připojeny, můžete sloupce přetahovat do pohledů a sestav, jako by informace pocházely z databází SQL.

Klasické třídicí a prosévací stoly mi přišly nesmírně užitečné pro pochopení toho, kdo na mém webu tráví nejvíce času. Pouhé třídění podle IP adresy v souborech protokolu odhalilo, co těžcí uživatelé dělají.

Pentaho také poskytuje software pro kreslení dat souborů HDFS a dat HBase z klastrů Hadoop. Jedním z nejzajímavějších nástrojů je grafické programovací rozhraní známé jako Kettle nebo Pentaho Data Integration. Má spoustu vestavěných modulů, které můžete přetáhnout na obrázek a poté je připojit. Pentaho do toho důkladně integroval Hadoop a další zdroje, takže můžete napsat svůj kód a odeslat ho k provedení na clusteru.

 

Big data tools: Karmasphere Studio and Analyst

Mnoho nástrojů pro velká data nezačalo život jako nástroje pro vytváření zpráv. Například Karmasphere Studio je sada modulů plug-in postavených na platformě Eclipse. Jedná se o specializované IDE, které usnadňuje vytváření a spouštění úloh Hadoop.

Když jsem začal konfigurovat úlohu Hadoop pomocí tohoto vývojářského nástroje, měl jsem vzácný pocit radosti. V životě úlohy Hadoop existuje řada fází a nástroje Karmasphere vás provedou každým krokem a ukazují dílčí výsledky. Myslím, že debuggery nám vždy umožnily nahlédnout do mechanismu, jak funguje, ale Karmasphere Studio dělá něco trochu lepšího: Když nastavujete pracovní postup, nástroje zobrazují stav testovacích dat v každém kroku. Uvidíte, jak budou dočasná data vypadat, protože jsou rozdělena, analyzována a poté redukována.

Karmasphere také distribuuje nástroj s názvem Karmasphere Analyst, který je navržen tak, aby zjednodušil proces orby prostřednictvím všech dat v klastru Hadoop. Dodává se s mnoha užitečnými stavebními bloky pro programování dobré úlohy Hadoop, jako jsou podprogramy pro dekomprimaci souborů protokolu Zip. Pak je spojí dohromady a parametrizuje volání Hive, aby vytvořila tabulku výstupu pro prohlížení.

 

Big data tools: Talend Open Studio

Talend také nabízí IDE založené na Eclipse pro spojování úloh zpracování dat s Hadoop. Jeho nástroje jsou navrženy tak, aby pomáhaly s integrací dat, kvalitou dat a správou dat, a to vše s podprogramy naladěnými na tyto úlohy.

Talend Studio vám umožňuje vytvářet vaše úlohy přetažením malých ikon na plátno. Pokud chcete získat RSS kanál, načte Talendova součást RSS a v případě potřeby přidá proxy. Existují desítky komponent pro shromažďování informací a desítky dalších pro provádění věcí, jako je „fuzzy match“. Výsledky pak můžete odeslat.

Vizuální spojování bloků může být jednoduché poté, co získáte představu o tom, co komponenty skutečně dělají a nedělají. To pro mě bylo snazší zjistit, když jsem se začal dívat na zdrojový kód sestavovaný za plátnem. Talend vám to umožní vidět a myslím, že je to ideální kompromis. Vizuální programování se může zdát jako vznešený cíl, ale zjistil jsem, že ikony nikdy nemohou dostatečně podrobně představovat mechanismy, aby bylo možné pochopit, o co jde. Potřebuji zdrojový kód.

Talend také udržuje TalendForge, kolekci rozšíření open source, která usnadňují práci s produkty společnosti. Většina nástrojů se jeví jako filtry nebo knihovny, které propojují software společnosti Talend s dalšími významnými produkty, jako jsou Salesforce.com a SugarCRM. Informace z těchto systémů můžete nasávat do svých vlastních projektů, což zjednodušuje integraci.

 

Big data tools: Skytree Server

Ne všechny nástroje jsou navrženy tak, aby usnadňovaly spojování kódu pomocí vizuálních mechanismů. Skytree nabízí balíček, který provádí mnoho sofistikovanějších algoritmů strojového učení. Stačí pouze zadat správný příkaz do příkazového řádku.

Skytree se více zaměřuje na vnitřnosti než na lesklé grafické uživatelské rozhraní. Server Skytree je optimalizován pro spuštění řady klasických algoritmů strojového učení na vašich datech pomocí implementace, kterou společnost tvrdí, že může být 10 000krát rychlejší než jiné balíčky. Může prohledávat vaše data a hledat shluky matematicky podobných položek, pak to invertovat a identifikovat odlehlé hodnoty, které mohou být problémy, příležitosti nebo obojí. Algoritmy mohou být přesnější než lidé a mohou prohledávat obrovské množství dat a hledat položky, které jsou trochu neobvyklé. Může to být podvod - nebo obzvlášť dobrý zákazník, který utratí a utratí.

Bezplatná verze softwaru nabízí stejné algoritmy jako proprietární verze, ale je omezena na datové sady 100 000 řádků. To by mělo stačit k určení, zda je software v dobré shodě.

 

Big data tools: Tableau Desktop and Server

Tableau Desktop je vizualizační nástroj, který usnadňuje pohled na vaše data novými způsoby, poté je rozdělí a podívá se na ně jiným způsobem. Data můžete dokonce kombinovat s jinými daty a zkoumat je v ještě jiném světle. Nástroj je optimalizován tak, aby poskytoval všechny sloupce s daty, a umožňuje je míchat, než je vložíte do jedné z desítek poskytovaných grafických šablon.

Software Tableau začal používat Hadoop před několika verzemi a nyní můžete s Hadoopem zacházet „stejně jako s jakýmkoli datovým připojením“. Tableau spoléhá na Hive, aby strukturoval dotazy, a pak se snaží co nejlépe uložit do mezipaměti tolik informací v paměti, aby byl nástroj interaktivní. Zatímco mnoho dalších nástrojů pro vytváření sestav je založeno na tradici generování zpráv v režimu offline, chce Tableau nabídnout interaktivní mechanismus, pomocí kterého můžete data znovu a znovu rozdělit. Ukládání do mezipaměti pomáhá vypořádat se s latencí clusteru Hadoop.

Software je dobře vyleštěný a esteticky příjemný. Často jsem zjistil, že reslikuji data, abych je viděl v dalším grafu, i když nebylo mnoho nového, co by se dalo naučit přechodem z výsečového grafu na sloupcový graf a dále. Softwarový tým jasně zahrnuje řadu lidí s určitým uměleckým talentem.

 

Big data tools: Splunk

Splunk se trochu liší od ostatních možností. Není to přesně nástroj vytvářející zprávy nebo sbírka rutin AI, i když toho hodně dosáhne. Vytvoří rejstřík vašich dat, jako by vaše data byla kniha nebo blok textu. Ano, databáze také vytvářejí indexy, ale Splunkův přístup je mnohem blíže procesu textového vyhledávání.

Toto indexování je překvapivě flexibilní. Splunk je již naladěn na moji konkrétní aplikaci, což dává smysl logovým souborům, a to je odsávalo. Prodává se také v řadě různých balíčků řešení, včetně jednoho pro monitorování serveru Microsoft Exchange a druhého pro detekci webových útoků. Index pomáhá korelovat data v těchto a několika dalších běžných scénářích na straně serveru.