Тази публикация в блога е публикувана на Hortonworks.com преди сливането с Cloudera. Някои връзки, ресурси или препратки може вече да не са точни.
Компютрите стават по-умни, а ние не.
– Тим Бърнърс Лий, уеб разработчик
Google, Amazon и Netflix ни обусловиха. Като потребители, ние очакваме интелигентни приложения, които предвиждат, подсказват и предвиждат всеки наш ход. Искаме те да отсеят милионите възможности и да предложат само няколко, които отговарят на нашите нужди. Искаме приложения, които ни отвеждат на персонализирано пътуване през свят на безкрайни възможности.
Тези персонализирани пътувания изискват системи за съхранение и осмисляне на огромни обеми данни за приемливо време. Това е силната страна на Hadoop от първия ден.
Извършването на пътуването също изисква приложенията да се интегрират директно с дълбоки анализи. Това остава предизвикателство, тъй като повечето операционни системи работят извън Hadoop, поставяйки оперативни данни и анализи в отделни силози.
Технологии като Apache Hadoop YARN и Apache Slider започват да разрушават тези силози. YARN дава контроли за изолиране на ресурсите на Hadoop, които правят възможно задълбочено анализиране на данните на приложението на място, като същевременно предоставят отговори в приемлив период от време. А Apache Slider улеснява внедряването на дълготрайни операционни системи в Hadoop.
YARN е архитектурният център на Hadoop, който позволява множество машини за обработка на данни, като интерактивен SQL, стрийминг в реално време, наука за данни и пакетна обработка, за да обработват данни, съхранявани в една платформа, отключвайки изцяло нов подход към анализа. Това осигурява безпроблемна интеграция на оперативни и аналитични системи и основа, върху която предприятието може да изгради модерна архитектура на данни (MDA).
Състоянието на изкуството в Hadoop
Днес е възможно да се съчетаят операциите и анализите в Hadoop и всъщност виждаме много от нашите клиенти да го правят.
Частите, от които се нуждаете, вече са в Hadoop:
- Apache HBase е базата данни NoSQL за Hadoop и е страхотна за бързи актуализации и достъп до данни с ниска латентност.
- Apache Phoenix (иницииран от Salesforce) е SQL кожа за данни в HBase. Phoenix вече проучва интеграцията с мениджъри на транзакции като Tephra (от Cask).
- Apache Hive е фактическият SQL двигател за Hadoop, който осигурява най-дълбокия SQL анализ и поддържа както пакетни, така и интерактивни модели на заявки. Вижте нашата скорошна Stinger. Следваща публикация за напредък като Hive LLAP.
Виждаме, че нашите клиенти използват тези части днес, за да създават приложения с дълбок анализ, например много често срещан модел, който виждаме, включва:
- Използване на HBase като онлайн хранилище за оперативни данни за бързи актуализации на горещи данни, като например текущ дял за час, ден и т.н.
- Изпълнение на оперативни заявки директно срещу HBase с помощта на Apache Phoenix.
- Данни за стареене в таблици HBase към Hive с помощта на стандартни ETL модели.
- Извършване на дълбоки SQL анализи с помощта на Hive
Това работи, но създава редица сложности за разработчиците. Например:
- Кой SQL интерфейс да използвам и кога? Използвам ли Hive, който предлага дълбок SQL, но нисък TPS? Или да използвам Phoenix с висок TPS и основен SQL? Или да използвам и двете?
- Ако използвам и двете, как да споделям данни между Hive и HBase?
- Как да настроя своя клъстер, така че да мога успешно да локализирам HBase и Hive, докато отговарям на моите SLA?
Тези въпроси предполагат, че е необходима по-дълбока интеграция, за да се опрости изграждането на приложения с дълбок анализ на Hadoop.
HBase и Hive:По-добре заедно
Какви възможности съществуват за по-дълбока интеграция? Понастоящем клиентите събират решения, използващи HBase, Phoenix, Hive и др., за да изградят по поръчка система със затворен цикъл за оперативни данни и SQL анализи. Смятаме, че има възможност да предоставим готова интеграция с лесна употреба и допълнителни възможности, като транзакции, преминаване при отказ от кръстосани центрове за данни и др.
Hive, HBase и Phoenix имат много активна общност от разработчици и се използват в производството в безброй организации. Това са солидни, доказани оперативни възможности, които могат да бъдат основата и бъдещето на обработката на транзакции в Hadoop.
Така че, използвайки същия подход като успешната инициатива Stinger, Hortonworks гледа да инвестира допълнително в тези основни проекти и да изгради инерция, вместо да ги изостави и да започне отначало. Планираме да инвестираме в подобрения, които допринасят за интегрирано оперативно и аналитично изживяване чрез тясно интегрирани Hive и HBase. Това се отнася до реални и интересни случаи на използване по начин, който запазва инвестициите и води до реална стойност за клиентите.
Виждаме четири основни области на разработка, които да помогнат за реализирането на визията за интелигентни приложения:
1. Обединен SQL слой с Hive
Разработчиците, изграждащи SQL приложения, не трябва да избират между различни SQL решения, всяко със своите силни и слаби страни. Представяме си унифициран SQL слой, активиран от поддръжката на Hive за SQL:2011, който прозрачно използва подходящия двигател въз основа на модела за достъп на заявка.
Тази комбинация осигурява един SQL диалект и един конектор. Архитектите на данни и администраторите на данни могат да определят къде трябва да се съхраняват данните въз основа на модели на използване, без да натоварват потребителските приложения с необходимостта от свързване към множество системи.
2. Подобряване на HBase като оперативен магазин
HBase бързо се развива като оперативен магазин и ще може да поема все по-взискателни натоварвания. През последната година HBase добави SQL интерфейс, вторично индексиране и висока наличност. Тези функции ще продължат да се развиват и в допълнение HBase ще добави допълнителни функции от корпоративен клас, като много таблици, транзакции между центрове за данни и други.
Проекти като Omid (Yahoo), Tephra (
3. Споделен каталог с метаданни и мениджър на транзакции
Данните, създадени в HBase, трябва да се виждат автоматично в Hive и обратно. Тази възможност прави споделянето на данни между онлайн и аналитични данни напълно тривиално. Мениджърът на споделени транзакции позволява на новата функция ACID на Hive и транзакциите на HBase с множество таблици да работят заедно безпроблемно.
4. Поддръжка за смесено работно натоварване с активиран YARN
Днес клиентите обикновено внедряват HBase и Hive в отделни клъстери. Разработването на затворена аналитична система изисква ефективна комбинация от оперативни и аналитични натоварвания по начин с множество наематели. С YARN можем ефективно да създадем единна система, като използваме примитиви за изолиране на ресурси и управление на натоварването в YARN, за да поддържаме различни форми на достъп до данни. Slider ги използва, когато разгръща HBase в YARN, докато Hive LLAP &Tez са естествени YARN приложения, като по този начин опростява процеса на изпълнение на аналитична система със затворен цикъл според предвидим SLA.
Заключение
Предприятията използват вече съществуващи технологии, налични в HDP, като Apache HBase, Apache Hive, Apache Phoenix и др., за да се справят с бързи актуализации на текущите данни и анализи върху огромен набор от набори от данни, всички съхранявани в HDFS, за да осъществят система за анализ на затворен цикъл . Надяваме се да използваме същите модели на интеграция, за да осигурим безпроблемно изживяване за клиентите, като направим Apache HBase и Apache Hive по-добри – по-добри заедно, вместо да инсталираме нови технологии, които потребителите да разберат и използват.