將定制的Spark和Hadoop試點(diǎn)項(xiàng)目轉(zhuǎn)移到生產(chǎn)中是一項(xiàng)艱巨的任務(wù),但容器技術(shù)緩解了這種艱難的過(guò)渡。
當(dāng)團(tuán)隊(duì)試圖將小型試點(diǎn)項(xiàng)目轉(zhuǎn)變?yōu)槊嫦驍?shù)據(jù)科學(xué)團(tuán)隊(duì)和業(yè)務(wù)分析人員的大型運(yùn)營(yíng)應(yīng)用程序時(shí),Spark和Hadoop分析工作往往會(huì)遇到困難。對(duì)于許多人來(lái)說(shuō),這是他們?cè)诖髷?shù)據(jù)分析之路上遇到的最大障礙。
配置的復(fù)雜性有時(shí)候也是絆腳石。由一個(gè)單獨(dú)的數(shù)據(jù)科學(xué)家構(gòu)建的自定義配置的原型可能需要很長(zhǎng)的時(shí)間來(lái)重新創(chuàng)建,一旦失敗,是由一個(gè)更廣泛的用戶池共享。為了解決這些問(wèn)題,一些人利用DevOps型容器和微服務(wù)技術(shù)將Spark和Hadoop組件銜接在一起。
“我們的數(shù)據(jù)科學(xué)團(tuán)隊(duì)和業(yè)務(wù)利益相關(guān)者不希望等待過(guò)長(zhǎng)的時(shí)間,等我們建立一個(gè)新的Spark集群或其他大型數(shù)據(jù)環(huán)境,并提供所需的所有工具、版本、配置和數(shù)據(jù),” 為醫(yī)療機(jī)構(gòu)提供分析和咨詢服務(wù)的公司董事Ramesh Thyagarajan說(shuō)道。他將Docker容器視為在大數(shù)據(jù)科學(xué)家和企業(yè)用戶上實(shí)現(xiàn)敏捷性的關(guān)鍵技術(shù)。
為了將這種DevOps風(fēng)格部署到其大數(shù)據(jù)應(yīng)用程序,咨詢委員會(huì)正在使用BlueData Software的EPIC軟件平臺(tái)來(lái)運(yùn)行Spark SQL和Spark分析引擎以及Apache Zeppelin開發(fā)人員筆記本。Thyagarajan表示:“對(duì)我們而言,這是關(guān)于敏捷性和更快速的業(yè)務(wù)創(chuàng)新的。BlueData平臺(tái)的強(qiáng)大功能是將大數(shù)據(jù)部署作為基于容器的架構(gòu)。”
據(jù)Thyagarajan介紹,該平臺(tái)為數(shù)據(jù)科學(xué)家和業(yè)務(wù)分析師提供了新的Spark集群的按需分配,這些分析人員基本上避免了此類部署所需配置的復(fù)雜性。
他表示,他的團(tuán)隊(duì)建立了自己的框架,將數(shù)據(jù)帶入Hadoop分布式文件系統(tǒng)(HDFS)。這種集中處理是很重要的,他說(shuō),“我們沒(méi)有辦法支持400多名用戶,每個(gè)用戶都創(chuàng)建自己的集群。”
是在腳本中運(yùn)行嗎?
在容器中談?wù)摯髷?shù)據(jù)為時(shí)尚早。BlueData的聯(lián)合創(chuàng)始人兼首席架構(gòu)師Tom Phelan表示,到目前為止,Spark集群主要是在裸機(jī)服務(wù)器中實(shí)施。
Tom在最近在波士頓舉行的Spark Summit East 2017年的演講中表示,裸機(jī)意味著難以改變的架構(gòu)和靜態(tài)實(shí)施。
容器的實(shí)現(xiàn)可以使用腳本由手動(dòng)完成,但是由于大數(shù)據(jù)管道組件較多,因此容器變得更具挑戰(zhàn)性。他說(shuō),Spark常常是比較復(fù)雜的、協(xié)調(diào)工作負(fù)載的一部分,這些工作量并不一定容易適應(yīng)容器的方法。
他告訴會(huì)議與會(huì)者,“必須要跨過(guò)容器管理者這一關(guān)。 這也是BlueData軟件需要解決的問(wèn)題之一。”
彈性縮放的路徑
Phelan表示,BlueData平臺(tái)最近的更新解決了使用Spark的數(shù)據(jù)科學(xué)家(如咨詢委員會(huì))的實(shí)施需求。
BlueData最新版本在本月初推出,支持常用的Spark工具,如JupyterHub,RStudio Server和Zeppelin編程筆記本,作為預(yù)配置的Docker映像。目的是為數(shù)據(jù)科學(xué)帶來(lái)更多DevOps風(fēng)格的敏捷性。
使用Docker容器和其他微服務(wù)方法是實(shí)現(xiàn)應(yīng)用程序部署自動(dòng)化的驅(qū)動(dòng)力。這些方法通常是彈性縮放的一個(gè)途徑,它允許管理員根據(jù)工作負(fù)載來(lái)建立和分解計(jì)算資源。
這在云計(jì)算以及內(nèi)部部署實(shí)施中日益普及,如果Spark和Hadoop的使用范圍在企業(yè)中逐漸擴(kuò)大,擁抱容器的加入未嘗不是一件好事。