7 инструмента за укротяване на големи данни с Hadoop

Наводненията, опустошили индустрията на твърдия диск в Тайланд, вече са на половин година и цените на терабайт най-накрая отново падат. Това означава, че данните ще започнат да се трупат и хората около офиса ще се чудят какво може да се направи с тях. Може би има някои прозрения в тези регистрационни файлове? Може би малко статистически анализ ще открие някои късчета злато, заровени в целия този шум? Може би можем да намерим достатъчно промяна, заровена в диванните възглавници на тези файлове, за да дадем на всички нас повишение?

Сега индустрията има модна дума „големи данни“ за това как ще направим нещо с огромното количество натрупана информация. „Големите данни“ заменят „бизнес разузнаването“, което включва „отчитане“, което поставя по-хубав блясък на „електронни таблици“, които побеждават старомодните „разпечатки“. Мениджърите, които отдавна са изучавали разпечатки, сега наемат математици, които твърдят, че са специалисти в областта на големите данни, за да им помогнат да решат същия стар проблем: Какво се продава и защо?

[Също в: Enterprise Hadoop: Улеснена е обработката на големи данни | Разгледайте съвременните тенденции и решения в BI с интерактивната Business Intelligence iGuide. | Открийте новостите в бизнес приложенията с информационния бюлетин „Технологии: Приложения“. ]

Не е честно да се предполага, че тези модни думи са просто заместители един за друг. Големите данни са по-сложен свят, защото мащабът е много по-голям. Информацията обикновено се разпространява на множество сървъри и работата по съставянето на данните трябва да бъде координирана между тях. В миналото работата е била делегирана до голяма степен на софтуера на базата данни, който ще използва магическия си механизъм JOIN за компилиране на таблици, след което ще събира колоните, преди да предаде правоъгълника на данните на софтуера за отчитане, който ще го разположи. Това често беше по-трудно, отколкото звучи. Програмистите на бази данни могат да ви разкажат историите за сложни команди JOIN, които биха заключили базата им с часове, докато се опитва да изготви отчет за шефа, който иска колоните му точно така.

Сега играта е много по-различна. Hadoop е популярен инструмент за организиране на стелажи и стелажи на сървъри, а базите данни NoSQL са популярни инструменти за съхранение на данни на тези стелажи. Тези механизми могат да бъдат много по-мощни от старата единична машина, но далеч не са толкова полирани, колкото старите сървъри на бази данни. Въпреки че SQL може да е сложен, писането на JOIN заявката за базите данни на SQL често беше много по-просто от събирането на информация от десетки машини и компилирането й в един последователен отговор. Задачите на Hadoop са написани на Java и това изисква друго ниво на усъвършенстване. Инструментите за справяне с големи данни тепърва започват да пакетират тази разпределена изчислителна мощност по начин, който е малко по-лесен за използване.

Много от инструментите за големи данни работят и с хранилища за данни NoSQL. Те са по-гъвкави от традиционните релационни бази данни, но гъвкавостта не е толкова отклонение от миналото, колкото Hadoop. Заявките NoSQL могат да бъдат по-прости, защото дизайнът на базата данни обезкуражава сложната таблична структура, която движи сложността на работата с SQL. Основното притеснение е, че софтуерът трябва да предвиди възможността не всеки ред да има някои данни за всяка колона.

Най-голямото предизвикателство може да бъде справянето с очакванията, изградени от основния филм "Moneyball". Всички шефове са го видели и са приели посланието, че някои интелигентни статистически данни могат да превърнат малкобюджетния екип в победител в World Series. Няма значение, че лека атлетика Оукланд никога не е печелила световните серии по време на ерата "Moneyball". Това е магията на прозата на Майкъл Луис. Всички шефове си мислят: „Може би, ако успея да намеря добри статистически данни, Холивуд ще наеме Брад Пит да ме играе във филмовата версия.“

Нито един от софтуера в тази колекция няма да се доближи до примамването на Брад Пит да поиска от своя агент копие от сценария за филмовата версия на вашата работа в Hadoop. Това трябва да дойде от вас или от останалите хора, работещи по проекта. Разбирането на данните и намирането на подходящия въпрос често е много по-сложно от това да накарате работата си в Hadoop да се изпълни бързо. Това наистина говори нещо, защото тези инструменти са само половината от работата.

За да се справя с обещанието на полето, изтеглих някои инструменти за големи данни, смесих данни, след това се втренчих в отговорите за прозрение на ниво Айнщайн. Информацията идваше от регистрационни файлове до уебсайта, който продава някои от книгите ми (wayner.org), и търсех някаква идея какво се продава и защо. Затова разопаковах софтуера и зададох въпросите.

 

Инструменти за големи данни: Jaspersoft BI Suite

Пакетът Jaspersoft е един от лидерите с отворен код за създаване на отчети от колони на базата данни. Софтуерът е добре полиран и вече е инсталиран в много бизнеси, превръщайки SQL таблиците в PDF файлове, които всеки може да разгледа по време на срещи.

Компанията се качва на влака за големи данни и това означава добавяне на софтуерен слой, който да свързва софтуера за генериране на отчети към местата, където се съхраняват големи данни. JasperReports Server вече предлага софтуер за изсмукване на данни от много от основните платформи за съхранение, включително MongoDB, Cassandra, Redis, Riak, CouchDB и Neo4j. Hadoop също е добре представен, с JasperReports, осигуряващ Hive конектор за достъп до HBase.

Това усилие сякаш все още се стартира - много страници от wiki документацията са празни и инструментите не са напълно интегрирани. Например визуалният дизайнер на заявки все още не работи с CQL на Cassandra. Можете да въведете тези заявки на ръка.

След като получите данните от тези източници, сървърът на Jaspersoft ще ги сведе до интерактивни таблици и графики. Отчетите могат да бъдат доста сложни интерактивни инструменти, които ви позволяват да разгледате различни ъгли. Можете да поискате все повече и повече подробности, ако имате нужда от тях.

Това е добре развит ъгъл на софтуерния свят и Jaspersoft се разширява, като улеснява използването на тези сложни отчети с по-нови източници на данни. Jaspersoft не предлага особено нови начини за разглеждане на данните, а просто по-сложни начини за достъп до данни, съхранявани на нови места. Намерих това за изненадващо полезно. Съвкупността от моите данни беше достатъчна, за да се разбере основно кой ще отиде на уебсайта и кога ще отиде там.

 

Инструменти за големи данни: Pentaho Business Analytics

Pentaho е друга софтуерна платформа, която започна като механизъм за генериране на отчети; подобно на JasperSoft се разклонява на големи данни, като улеснява усвояването на информация от новите източници. Можете да свържете инструмента на Pentaho към много от най-популярните бази данни NoSQL като MongoDB и Cassandra. След като базите данни са свързани, можете да плъзгате и пускате колоните в изгледи и отчети, сякаш информацията идва от SQL бази данни.

Открих, че класическите таблици за сортиране и пресяване са изключително полезни за разбирането на това кой прекарва най-много време в моя уебсайт. Простото сортиране по IP адрес в регистрационните файлове разкри какво правят тежките потребители.

Pentaho също така предоставя софтуер за извличане на HDFS файлови данни и HBase данни от клъстери Hadoop. Един от най-интригуващите инструменти е графичният интерфейс за програмиране, известен като Kettle или Pentaho Data Integration. Той има куп вградени модули, които можете да плъзгате и пускате върху снимка, след което да ги свързвате. Pentaho напълно интегрира Hadoop и другите източници в това, така че можете да напишете своя код и да го изпратите за изпълнение на клъстера.

 

Инструменти за големи данни: Karmasphere Studio и Analyst

Много от инструментите за големи данни не започнаха живота си като инструменти за отчитане. Karmasphere Studio, например, е набор от приставки, изградени върху Eclipse. Това е специализирана IDE, която улеснява създаването и стартирането на Hadoop работни места.

Имах рядко чувство на радост, когато започнах да конфигурирам работа на Hadoop с този инструмент за разработчици. Има редица етапи в живота на работа в Hadoop и инструментите на Karmasphere ви превеждат през всяка стъпка, показвайки частичните резултати по пътя. Предполагам, че дебъгърите винаги са ни позволявали да надникнем в механизма, докато той си върши работата, но Karmasphere Studio прави нещо малко по-добро: Докато настройвате работния поток, инструментите показват състоянието на тестовите данни на всяка стъпка. Виждате как ще изглеждат временните данни, когато бъдат разделени, анализирани и намалени.

Karmasphere разпространява и инструмент, наречен Karmasphere Analyst, който е предназначен да опрости процеса на оран през всички данни в клъстер Hadoop. Той се предлага с много полезни градивни елементи за програмиране на добра работа на Hadoop, като подпрограми за декомпресиране на Zipped log файлове. След това ги нанизва заедно и параметризира повикванията на Hive, за да се получи таблица с резултати за разглеждане.

 

Инструменти за големи данни: Talend Open Studio

Talend предлага и базирана на Eclipse IDE за нанизване заедно на задачи за обработка на данни с Hadoop. Неговите инструменти са предназначени да помогнат за интеграцията на данни, качеството на данните и управлението на данните, всички с подпрограми, настроени към тези задачи.

Talend Studio ви позволява да изградите работата си, като плъзгате и пускате малки икони върху платно. Ако искате да получите RSS емисия, компонентът на Talend ще изтегли RSS и ще добави прокси, ако е необходимо. Има десетки компоненти за събиране на информация и още десетки за извършване на неща като „размито съвпадение“. След това можете да изведете резултатите.

Визуалното обединяване на блокове може да бъде лесно, след като усетите какво всъщност правят и какво не правят компонентите. За мен беше по-лесно да разбера, когато започнах да разглеждам изходния код, сглобен зад платното. Talend ви позволява да видите това и мисля, че това е идеален компромис. Визуалното програмиране може да изглежда като висока цел, но открих, че иконите никога не могат да представят механизмите с достатъчно подробности, за да е възможно да се разбере какво се случва. Имам нужда от изходния код.

Talend поддържа и TalendForge, колекция от разширения с отворен код, които улесняват работата с продуктите на компанията. Изглежда, че повечето инструменти са филтри или библиотеки, които свързват софтуера на Talend с други основни продукти като Salesforce.com и SugarCRM. Можете да изсмуквате информация от тези системи във вашите собствени проекти, опростявайки интеграцията.

 

Инструменти за големи данни: Сървър Skytree

Не всички инструменти са създадени, за да улеснят натрупването на код с визуални механизми. Skytree предлага пакет, който изпълнява много от по-сложните алгоритми за машинно обучение. Необходимо е само да въведете правилната команда в командния ред.

Skytree е по-фокусиран върху червата, отколкото върху лъскавия GUI. Skytree Server е оптимизиран да изпълнява редица класически алгоритми за машинно обучение на вашите данни, използвайки изпълнение, за което компанията твърди, че може да бъде 10 000 пъти по-бързо от други пакети. Той може да търси във вашите данни, търсейки клъстери от математически подобни елементи, след което да инвертира това, за да идентифицира отклонения, които може да са проблеми, възможности или и двете. Алгоритмите могат да бъдат по-точни от хората и могат да търсят в огромни количества данни, търсейки записи, които са малко необичайни. Това може да е измама - или особено добър клиент, който ще харчи и харчи.

Безплатната версия на софтуера предлага същите алгоритми като собствената версия, но е ограничена до набори от 100 000 реда. Това трябва да е достатъчно, за да се установи дали софтуерът е подходящ.

 

Инструменти за големи данни: Desktop Desktop и сървър

Desktop Desktop е инструмент за визуализация, който улеснява разглеждането на вашите данни по нови начини, след което ги нарязва и разглежда по различен начин. Можете дори да смесвате данните с други данни и да ги разглеждате в още една светлина. Инструментът е оптимизиран, за да ви даде всички колони за данните и да ви позволи да ги смесите, преди да ги натъпкате в един от десетките предоставени графични шаблона.

Tableau Software започна да приема Hadoop преди няколко версии и сега можете да третирате Hadoop „точно както бихте направили с всяка връзка за данни“. Tableau разчита на Hive за структуриране на заявките, след което се опитва най-добре да кешира колкото се може повече информация в паметта, за да позволи на инструмента да бъде интерактивен. Докато много от другите инструменти за отчитане са изградени върху традицията за генериране на отчети офлайн, Tableau иска да предложи интерактивен механизъм, така че да можете да нарязвате и зарязвате вашите данни отново и отново. Кеширането помага за справяне с някои от латентността на клъстер Hadoop.

Софтуерът е добре полиран и естетически приятен. Често се оказвах, че реслицирам данните, само за да ги видя в поредната графика, въпреки че нямаше много ново за научаване чрез превключване от кръгова диаграма на стълбовидна диаграма и след това. Софтуерният екип явно включва редица хора с известен артистичен талант.

 

Инструменти за големи данни: Splunk

Splunk е малко по-различен от другите опции. Това не е точно инструмент за генериране на отчети или колекция от AI процедури, въпреки че постига голяма част от това по пътя. Той създава индекс на вашите данни, сякаш вашите данни са книга или блок от текст. Да, базите данни също изграждат индекси, но подходът на Splunk е много по-близо до процеса на търсене на текст.

Това индексиране е изненадващо гъвкаво. Splunk вече е настроен към конкретното ми приложение, което има смисъл на регистрационните файлове и ги изсмука точно. Също така се продава в редица различни пакети от решения, включително един за наблюдение на сървър на Microsoft Exchange и друг за откриване на уеб атаки. Индексът помага да се съпоставят данните в тези и няколко други често срещани сценария от страна на сървъра.