Apache Spark с Hadoop - защо е важно?



Внедряването на Apache Spark с Hadoop в голям мащаб от водещи компании показва успеха и потенциала му, когато става въпрос за обработка в реално време.

Hadoop, рамката за обработка на данни, която се превърна в платформа за себе си, става още по-добра, когато към нея са свързани добри компоненти. Някои недостатъци на Hadoop, като компонент MapReduce на Hadoop, имат репутацията на бавни за анализ на данни в реално време.





Влезте в Apache Spark, базиран на Hadoop двигател за обработка на данни, проектиран както за групови, така и за стрийминг натоварвания, вече в своята версия 1.0 и оборудван с функции, които илюстрират какви видове работа Hadoop се налага да включва. Spark работи върху съществуващите клъстери Hadoop, за да осигури подобрена и допълнителна функционалност.

Нека да разгледаме ключовите характеристики на spark и как работи заедно с Hadoop и .



Основни предимства на Apache Spark:

img2-R

Страхотните характеристики на Spark’s:

  • Интеграция на Hadoop - Spark може да работи с файлове, съхранявани в HDFS.
  • Spark’s Interactive Shell - Spark е написан на Scala и има собствена версия на интерпретатора Scala.
  • Spark’s Analytic Suite - Spark се предлага с инструменти за интерактивен анализ на заявки, мащабна обработка и анализ на графики и анализ в реално време.
  • Устойчиви разпределени набори от данни (RDD) - RDD са разпределени обекти, които могат да бъдат кеширани в паметта, в клъстер от изчислителни възли. Те са основните обекти с данни, използвани в Spark.
  • Разпределени оператори - Освен MapReduce, има много други оператори, които можете да използвате на RDD.

Предимства на използването на Apache Spark с Hadoop:

основни структури от данни в java
  • Apache Spark се вписва в общността с отворен код на Hadoop, изграждане върху разпределената файлова система Hadoop (HDFS). Spark обаче не е обвързан с двустепенната парадигма MapReduce и обещава производителност до 100 пъти по-бърза от Hadoop MapReduce за определени приложения.



  • Подходящ за алгоритми за машинно обучение - Spark предоставя примитиви за изчисляване на клъстери в паметта, което позволява на потребителските програми да зареждат данни в паметта на клъстера и да ги заявяват многократно.

  • Бягайте 100 пъти по-бързо - Spark, софтуерът за анализ може също да ускори заданията, които се изпълняват на платформата за обработка на данни Hadoop. Наречен „швейцарският нож Hadoop“, Apache Spark предоставя възможност за създаване на задачи за анализ на данни, които могат да работят 100 пъти по-бързо от тези, работещи на стандартния Apache Hadoop MapReduce. MapReduce е широко критикуван като пречка в клъстерите на Hadoop, защото изпълнява задачи в групов режим, което означава, че анализът на данните в реално време не е възможен.

  • Алтернатива на MapReduce - Spark предоставя алтернатива на MapReduce. Той изпълнява задачи с кратки пакети от микропартиди, които са на разстояние от пет секунди или по-малко. Той също така осигурява повече стабилност от ориентираните към потока рамки на Hadoop като Twitter Storm. Софтуерът може да се използва за различни задачи, като непрекъснат анализ на данни на живо и благодарение на софтуерна библиотека, по-задълбочени изчислителни задачи, включващи машинно обучение и обработка на графики.

  • Поддръжка за множество езици - Използвайки Spark, разработчиците могат да пишат задачи за анализ на данни в Java, Scala или Python, като използват набор от повече от 80 оператори на високо ниво.

    сума от цифри на число в java, използвайки цикъл for
  • Поддръжка на библиотеки - Библиотеките на Spark са предназначени да допълнят видовете обработващи задачи, които се изследват по-агресивно, с най-новите комерсиално поддържани внедрявания на Hadoop. MLlib изпълнява множество често срещани алгоритми за машинно обучение, като наивна байесовска класификация или клъстериране. Spark Streaming позволява високоскоростна обработка на данни, погълнати от множество източници, а GraphX ​​позволява изчисления на графични данни.

  • Стабилен API - С версия 1.0, Apache Spark предлага стабилен API (интерфейс за програмиране на приложения), който разработчиците могат да използват за взаимодействие със Spark чрез собствените си приложения. Това помага за по-лесното използване на Storm при разгръщане на Hadoop.

  • SPARK SQL компонент - Spark SQL компонент за достъп до структурирани данни, позволява на данните да бъдат разпитани заедно с неструктурирани данни в работата по анализ. Spark SQL, който в момента е само в алфа версия, позволява изпълнение на подобни на SQL заявки срещу данни, съхранявани в Apache Hive. Извличането на данни от Hadoop чрез SQL заявки е още един вариант на функционалността за заявки в реално време, възникваща около Hadoop.

  • Съвместимост на Apache Spark с Hadoop [HDFS, HBASE и YARN] - Apache Spark е напълно съвместим с разпределената файлова система на Hadoop (HDFS), както и с други компоненти на Hadoop като YARN (Yet Another Resource Negotiator) и HBase разпределена база данни.

Осиновители в индустрията:

ИТ компании като Cloudera, Pivotal, IBM, Intel и MapR са сгънали Spark в своите Hadoop стекове. Databricks, компания, основана от някои от разработчиците на Spark, предлага търговска поддръжка за софтуера. Както Yahoo, така и NASA, наред с други, използват софтуера за ежедневни операции с данни.

Заключение:

Това, което Spark може да предложи, ще бъде голямо привличане както за потребители, така и за търговски доставчици на Hadoop. Потребителите, които искат да внедрят Hadoop и които вече са изградили много от своите аналитични системи около Hadoop, са привлечени от идеята да могат да използват Hadoop като система за обработка в реално време.

Spark 1.0 им предоставя друго разнообразие от функции за поддръжка или изграждане на собствени елементи наоколо. Всъщност един от големите трима доставчици на Hadoop, Cloudera, вече предоставя търговска подкрепа за Spark чрез своята оферта Cloudera Enterprise. Hortonworks също предлага Spark като компонент от дистрибуцията си Hadoop. Внедряването на Spark в голям мащаб от водещи компании показва неговия успех и потенциала му, когато става въпрос за обработка в реално време.

Имате въпрос към нас? Споменете ги в раздела за коментари и ние ще се свържем с вас.

Подобни публикации:

алгоритъм за сортиране може да се използва за подреждане на набор от ________ в ________ ред.