范煒瑋,趙東升
?
大數(shù)據(jù)處理平臺(tái)Spark及其生物醫(yī)學(xué)應(yīng)用
范煒瑋1,2,趙東升1*
1.軍事醫(yī)學(xué)科學(xué)院衛(wèi)生勤務(wù)與醫(yī)學(xué)情報(bào)研究所,北京100850;2.解放軍第309醫(yī)院信息科,北京100091
隨著生命科學(xué)和醫(yī)療信息化的快速發(fā)展,生物醫(yī)學(xué)數(shù)據(jù)出現(xiàn)了爆炸式增長(zhǎng)趨勢(shì),其處理面臨數(shù)據(jù)量大、維度關(guān)系復(fù)雜和交互式響應(yīng)要求高等問(wèn)題。傳統(tǒng)的數(shù)據(jù)庫(kù)以及Hadoop框架在處理生物醫(yī)學(xué)大數(shù)據(jù)方面都存在一些不足。Spark是一個(gè)新興的基于內(nèi)存計(jì)算的開(kāi)源大數(shù)據(jù)平臺(tái),具有豐富的編程接口、通用的處理框架和多元化的運(yùn)行模式。本文介紹了Spark的關(guān)鍵技術(shù)和特性,以及不同來(lái)源生物醫(yī)學(xué)大數(shù)據(jù)特點(diǎn)和成功案例,表明Spark在生物醫(yī)學(xué)大數(shù)據(jù)處理中的適用性和潛在優(yōu)勢(shì)。
大數(shù)據(jù);Spark;醫(yī)學(xué)研究;生物醫(yī)學(xué)信息學(xué)
對(duì)生物醫(yī)學(xué)數(shù)據(jù)的處理,最終目的是從中獲取知識(shí),為提高衛(wèi)生服務(wù)效率、促進(jìn)醫(yī)學(xué)發(fā)展和衛(wèi)生管理提供支持,使得“數(shù)據(jù)-信息-知識(shí)”的認(rèn)知鏈更臻完善。隨著生命組學(xué)、醫(yī)學(xué)技術(shù)和醫(yī)療信息化的快速發(fā)展,生物醫(yī)學(xué)數(shù)據(jù)出現(xiàn)了爆炸式增長(zhǎng)趨勢(shì),其處理面臨數(shù)據(jù)量大、維度關(guān)系復(fù)雜、計(jì)算強(qiáng)度高等問(wèn)題。將大數(shù)據(jù)技術(shù)引入醫(yī)學(xué)領(lǐng)域,可以及時(shí)充分地共享醫(yī)療信息、感知醫(yī)療資源,通過(guò)模型分析和數(shù)據(jù)挖掘,描述生命現(xiàn)象和醫(yī)療決策中規(guī)律并預(yù)測(cè)其發(fā)展趨勢(shì)。例如,谷歌在2009年初通過(guò)用戶在網(wǎng)上的搜索記錄成功預(yù)測(cè)甲型H1N1流感的爆發(fā),其“流感趨勢(shì)系統(tǒng)”通過(guò)結(jié)合傳統(tǒng)監(jiān)測(cè)方法和大數(shù)據(jù)處理技術(shù),可以預(yù)測(cè)美國(guó)未來(lái)1周的流感感染情況[1];美國(guó)的Flatiron Health公司,致力于通過(guò)收集和分析海量的臨床數(shù)據(jù)進(jìn)行癌癥治療的分析和預(yù)測(cè),該公司已獲得谷歌風(fēng)投部門超過(guò)1億美元的投資[2];美國(guó)政府于2012年3月發(fā)布了“大數(shù)據(jù)的研究和發(fā)展計(jì)劃”[3],其中多個(gè)項(xiàng)目涉及醫(yī)療、公共衛(wèi)生和生命組學(xué)研究。
Hadoop是Apache基金會(huì)的頂級(jí)開(kāi)源項(xiàng)目,已成為目前最重要的大數(shù)據(jù)技術(shù)框架之一,其MapReduce計(jì)算模型和完善的生態(tài)系統(tǒng)大大簡(jiǎn)化了大數(shù)據(jù)處理系統(tǒng)開(kāi)發(fā)和運(yùn)維管理。Hadoop在生物醫(yī)學(xué)大數(shù)據(jù)處理中得到成功應(yīng)用,涵蓋了生物信息學(xué)、智慧醫(yī)療、健康檔案、流行病預(yù)警、傳染病監(jiān)測(cè)等多個(gè)方面[4-10]。Explorys醫(yī)療數(shù)據(jù)公司基于Hadoop的云平臺(tái)能夠幫助醫(yī)生提高聚合、分析、管理和獲得輔助決策信息的能力[11]。當(dāng)前的Hadoop版本也存在一些不足。由于MapReduce在設(shè)計(jì)上追求簡(jiǎn)化的計(jì)算模型、大規(guī)模分布計(jì)算的容錯(cuò)性和可擴(kuò)展性,因而存在較大的磁盤I/O開(kāi)銷以及冗余讀寫和編程不夠靈活等問(wèn)題,更適合大規(guī)模數(shù)據(jù)的批量或離線計(jì)算,不能充分滿足數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)常用的迭代計(jì)算、圖計(jì)算和低延遲的交互式查詢計(jì)算等更復(fù)雜的計(jì)算需求。
Spark最初由伯克利大學(xué)AMPLab實(shí)驗(yàn)室于2009年提出[12],是一個(gè)通用大數(shù)據(jù)處理引擎,旨在快速、易用地處理復(fù)雜數(shù)據(jù)。Spark的出現(xiàn)彌補(bǔ)了Hadoop的不足,成為發(fā)展最快的大數(shù)據(jù)處理平臺(tái)之一,已廣泛應(yīng)用于騰訊、雅虎和淘寶等一線互聯(lián)網(wǎng)公司的報(bào)表和廣告推薦等業(yè)務(wù),在生物醫(yī)學(xué)領(lǐng)域也出現(xiàn)了一些成功案例。
1.1 Spark特點(diǎn)和關(guān)鍵技術(shù)
Spark(http://spark.apache.org/)是Apache基金會(huì)開(kāi)源項(xiàng)目,它充分整合利用了現(xiàn)有云計(jì)算和大數(shù)據(jù)技術(shù),具有豐富的編程接口,支持在單機(jī)、Hadoop Yarn、Mesos(http://mesos.apache.org/)集群和亞馬遜EC2云等多種平臺(tái)上運(yùn)行,能夠訪問(wèn)HDFS文件系統(tǒng)和Hbase數(shù)據(jù)庫(kù)等任意Hadoop支持的數(shù)據(jù)源,提供批處理、交互式、流處理等多種數(shù)據(jù)處理模式,為大數(shù)據(jù)應(yīng)用提供一個(gè)統(tǒng)一的平臺(tái)。據(jù)Apache官方測(cè)試,Spark運(yùn)行邏輯回歸算法的計(jì)算速度是Hadoop的10~100倍。如此之高的性能提升,得益于以下關(guān)鍵技術(shù)。
1.1.1 彈性分布式數(shù)據(jù)集(Resilient Distributed Datasets, RDD) RDD[13]是Spark計(jì)算框架的核心技術(shù)。在Spark中,所有的數(shù)據(jù)都抽象成RDD。用戶可將中間結(jié)果緩存在內(nèi)存中,便于有效地被重用和進(jìn)行并發(fā)操作,免去不必要的I/O開(kāi)銷。RDD只能通過(guò)兩種方式創(chuàng)建,一是讀取本地或Hadoop分布式文件系統(tǒng)(HDFS)上的文件,二是由其他RDD轉(zhuǎn)換而來(lái),具有只讀(一組RDD可以通過(guò)數(shù)據(jù)集操作生成另外一組RDD,但是不能直接被改寫)、彈性擴(kuò)展和容錯(cuò)等特性。
1.1.2 共享變量 與MapReduce不同的是,Spark提供廣播(Broadcast)和累加器(Accumulators)兩種受限的共享變量,可以像分布式內(nèi)存系統(tǒng)一樣提供全局地址空間接口,提高了數(shù)據(jù)的共享性[14]。
1.1.3 容錯(cuò)機(jī)制 分布式共享內(nèi)存系統(tǒng)一般通過(guò)檢查點(diǎn)(checkpoint)和回滾(rollback)方式容錯(cuò),而RDD通過(guò)稱為“世系關(guān)系”(Lineage)的機(jī)制提供高效的容錯(cuò),該機(jī)制使RDD包含其演化過(guò)程中一系列的依賴關(guān)系,能夠自動(dòng)從節(jié)點(diǎn)失敗中重構(gòu)丟失的RDD。
1.1.4 支持有向無(wú)環(huán)圖(Directed Acyclic Graph, DAG)編程框架 由于MapReduce設(shè)計(jì)上的約束,Hadoop缺少對(duì)迭代計(jì)算和DAG運(yùn)算的支持。Spark具有豐富全面的數(shù)據(jù)集運(yùn)算操作,除了Map和Reduce操作,還增加了過(guò)濾、抽樣、分組、排序、并集、連接、分割、計(jì)數(shù)、收集、查找等80多種算子,并合理地劃分為Transformation(變換)和Action(動(dòng)作)兩大類。利用這些算子,能夠方便地建立起RDD的DAG計(jì)算模型,將所有操作優(yōu)化成DAG圖,提高計(jì)算效率和編程靈活性。
1.2 Spark相關(guān)子項(xiàng)目
Spark在機(jī)器學(xué)習(xí)、交互式查詢、流計(jì)算和圖計(jì)算等方面都有相關(guān)子項(xiàng)目,使用同一個(gè)引擎便能高效地滿足數(shù)據(jù)統(tǒng)計(jì)查詢、機(jī)器學(xué)習(xí)和流數(shù)據(jù)處理的應(yīng)用需求。這些子項(xiàng)目形成了Spark核心計(jì)算框架上的工具(庫(kù)),以便于開(kāi)發(fā)無(wú)縫集成的應(yīng)用程序。
1.2.1 流計(jì)算框架(Spark Streaming) 流計(jì)算框架(http://spark.apache.org/streaming/)將數(shù)據(jù)流根據(jù)小時(shí)間片分解成一系列短小的批處理作業(yè),根據(jù)業(yè)務(wù)需求對(duì)中間結(jié)果疊加計(jì)算或者存儲(chǔ)到外部設(shè)備,具有高吞吐量和高效的容錯(cuò)處理能力。
1.2.2 可擴(kuò)展機(jī)器學(xué)習(xí)庫(kù)(MLBase/MLlib) Mllib(http://spark.apache.org/mllib/)包括一些常見(jiàn)的機(jī)器學(xué)習(xí)算法和實(shí)用程序,包括分類、回歸、聚類、協(xié)同過(guò)濾、降維、特征變換及底層優(yōu)化。MLbase通過(guò)邊界定義,力圖將MLbase打造成一個(gè)機(jī)器學(xué)習(xí)平臺(tái),讓一些并不深入了解機(jī)器學(xué)習(xí)的用戶也能方便地使用MLbase來(lái)處理自己的數(shù)據(jù),其機(jī)器學(xué)習(xí)優(yōu)化器能夠根據(jù)用戶輸入場(chǎng)景選擇最適合的機(jī)器學(xué)習(xí)算法和相關(guān)參數(shù)。
1.2.3 即席數(shù)據(jù)查詢引擎(Spark SQL) 從Apache Hive表、parquet和JSON格式的文件中裝載和查詢數(shù)據(jù),通過(guò)Python、Scala和Java語(yǔ)言編程接口將結(jié)構(gòu)化數(shù)據(jù)作為RDD進(jìn)行查詢,實(shí)現(xiàn)SQL查詢(http://spark.apache.org/sql/)和Spark程序的無(wú)縫集成,使運(yùn)行帶有SQL查詢的復(fù)雜分析算法更容易。同時(shí),可以不加修改地運(yùn)行Apache Hive數(shù)據(jù)倉(cāng)庫(kù)查詢,支持傳統(tǒng)JDBC/ODBC連接。
1.2.4 并行圖計(jì)算框架(GraphX) GraphX(http:// spark.apache.org/graphx/)基于Spark的圖處理和圖并行計(jì)算API,可將一組數(shù)據(jù)同時(shí)看作集合(Collection)和圖(Graph)兩種視圖,每種視圖都有自己獨(dú)特的操作符,利用基于RDD的圖操作保證了操作靈活性和執(zhí)行效率。
1.2.5 采樣近似計(jì)算查詢引擎(BlinkDB) BlinkDB(http://blinkdb.org/)是一個(gè)在海量數(shù)據(jù)上運(yùn)行交互式查詢的大規(guī)模并行查詢引擎。它通過(guò)維護(hù)一組多維樣本的自適應(yīng)優(yōu)化框架和動(dòng)態(tài)樣本選擇策略,允許用戶權(quán)衡數(shù)據(jù)精度來(lái)提升查詢響應(yīng)時(shí)間性能,而數(shù)據(jù)會(huì)被限制在誤差范圍以內(nèi)。在2012年超大規(guī)模數(shù)據(jù)庫(kù)(Very Large Database, VLDB)會(huì)議上的一個(gè)演示中,BlinkDB對(duì)17 TB數(shù)據(jù)的一組查詢不到2 s即可完成,比Hive快200倍,而錯(cuò)誤率在2%~10%之間[15]。
1.2.6 分布式內(nèi)存文件系統(tǒng)(Tachyon) Tachyon(http://tachyon-project.org/)是一個(gè)高容錯(cuò)的分布式文件系統(tǒng),允許文件以內(nèi)存的速度在計(jì)算機(jī)集群中進(jìn)行可靠的讀寫和共享,以達(dá)到提高效率的目的。項(xiàng)目開(kāi)發(fā)者提出了一種在存儲(chǔ)層利用“世系信息”(lineage)的容錯(cuò)機(jī)制,克服了傳統(tǒng)寫操作中數(shù)據(jù)同步的瓶頸,在測(cè)試中比HDFS快110倍[16]。
2.1 生物醫(yī)學(xué)大數(shù)據(jù)來(lái)源及特點(diǎn)
當(dāng)前的生物醫(yī)學(xué)大數(shù)據(jù)主要包括以下5大類,以高通量測(cè)序?yàn)榇淼纳M學(xué)數(shù)據(jù),以靶向藥物研發(fā)為代表的藥物研究實(shí)驗(yàn)產(chǎn)生的過(guò)程數(shù)據(jù),以電子病歷為代表的臨床醫(yī)療服務(wù)數(shù)據(jù),以居民電子健康檔案為代表的個(gè)人健康監(jiān)測(cè)與健康管理數(shù)據(jù),以疾病監(jiān)測(cè)和衛(wèi)生監(jiān)督為代表的公共衛(wèi)生管理數(shù)據(jù)。這些數(shù)據(jù)與電子商務(wù)、社交媒體等互聯(lián)網(wǎng)大數(shù)據(jù)相比,具有明顯的不同。
互聯(lián)網(wǎng)大數(shù)據(jù)的樣本量至少在億級(jí),例如,淘寶2014年“雙十一”促銷活動(dòng)1天就產(chǎn)生了2.78億筆交易。但其每個(gè)樣本只是一次交易記錄,結(jié)構(gòu)化較強(qiáng),樣本的屬性數(shù)量不會(huì)超過(guò)100個(gè)。同時(shí),其數(shù)據(jù)分析主要是基于人群分類的廣告推薦等,計(jì)算結(jié)果不需很精確。而醫(yī)療數(shù)據(jù)涉及到人的生命安全,對(duì)其進(jìn)行分析研究,要求結(jié)果要很精確。
2.1.1 生命組學(xué)大數(shù)據(jù) 目前的單個(gè)研究樣本量不大,但每個(gè)樣本的數(shù)據(jù)量很大且復(fù)雜度高,是典型的“小樣本大數(shù)據(jù)”。以“國(guó)際千人基因組計(jì)劃”為例,總樣本量只有1200人,但每個(gè)人的全基因組測(cè)序數(shù)據(jù)量很大,根據(jù)測(cè)序深度的不同可達(dá)數(shù)十甚至數(shù)百GB,因此該項(xiàng)目數(shù)據(jù)總量很大,經(jīng)過(guò)整理后達(dá)50 TB;同時(shí),數(shù)據(jù)結(jié)構(gòu)復(fù)雜、維度很高,每個(gè)人的原始數(shù)據(jù)包含幾千萬(wàn)短串序列,覆蓋3萬(wàn)條基因的各種信息。因此,對(duì)其挖掘分析技術(shù)要求很高。
2.1.2 臨床醫(yī)療大數(shù)據(jù) 樣本量較大,一家三甲醫(yī)院每年可產(chǎn)生上百萬(wàn)條門診紀(jì)錄、幾萬(wàn)份住院病歷,單個(gè)樣本的數(shù)據(jù)量比基因測(cè)序數(shù)據(jù)小,但描述樣本的信息復(fù)雜、關(guān)聯(lián)度強(qiáng),因此是“大樣本復(fù)雜關(guān)聯(lián)數(shù)據(jù)”。以中醫(yī)醫(yī)院的臨床信息系統(tǒng)為例,對(duì)每個(gè)就診患者而言,既有門診、住院、實(shí)驗(yàn)室檢驗(yàn)等結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù),也有病理分析、B超、PACS影像等大量非結(jié)構(gòu)化數(shù)據(jù);既有按照中醫(yī)診療方法和術(shù)語(yǔ)規(guī)范產(chǎn)生的數(shù)據(jù),也有按照現(xiàn)代西醫(yī)標(biāo)準(zhǔn)產(chǎn)生的數(shù)據(jù)。此外,臨床醫(yī)療數(shù)據(jù)天然地具有分布式特性,醫(yī)療機(jī)構(gòu)信息系統(tǒng)內(nèi)部及與其他衛(wèi)生機(jī)構(gòu)信息系統(tǒng)之間還存在數(shù)據(jù)標(biāo)準(zhǔn)不統(tǒng)一、融合性差等問(wèn)題。因此,臨床醫(yī)療大數(shù)據(jù)研究的重點(diǎn)在于如何標(biāo)化整理這些數(shù)據(jù)、基于大數(shù)據(jù)的循證醫(yī)學(xué)以及個(gè)性化醫(yī)療。
2.1.3 公共衛(wèi)生大數(shù)據(jù) 樣本量很大,但每個(gè)樣本的數(shù)據(jù)量較小,結(jié)構(gòu)簡(jiǎn)單,需要融合不同類別的監(jiān)測(cè)數(shù)據(jù)進(jìn)行分析。以我國(guó)傳染病監(jiān)測(cè)報(bào)告為例,監(jiān)測(cè)的樣本量數(shù)以億計(jì),而每條記錄僅為幾十個(gè)特定的結(jié)構(gòu)化字段。但為了監(jiān)測(cè)和預(yù)測(cè)傳染病暴發(fā),需要同時(shí)對(duì)傳染病報(bào)告數(shù)據(jù)、癥狀群監(jiān)測(cè)數(shù)據(jù)、互聯(lián)網(wǎng)搜索熱詞數(shù)據(jù)、環(huán)境氣象數(shù)據(jù)進(jìn)行融合分析,才能得出較準(zhǔn)確的結(jié)果。因此,公共衛(wèi)生大數(shù)據(jù)是融合大數(shù)據(jù)。
生物醫(yī)學(xué)大數(shù)據(jù)的應(yīng)用場(chǎng)景包括醫(yī)學(xué)研究、個(gè)性化醫(yī)療、衛(wèi)生統(tǒng)計(jì)決策、流行病預(yù)警和趨勢(shì)預(yù)測(cè)等,其處理分析主要集中在清洗轉(zhuǎn)換、特性抽取、語(yǔ)義建模、分類、聚類、序列分析、關(guān)聯(lián)分析和回歸分析等方面,對(duì)迭代計(jì)算、交互式查詢和計(jì)算精度的要求都很高。
2.2 醫(yī)學(xué)大數(shù)據(jù)Spark應(yīng)用案例
隨著Spark平臺(tái)不斷發(fā)展完善,一些醫(yī)學(xué)研究機(jī)構(gòu)開(kāi)始使用Spark來(lái)提高數(shù)據(jù)處理能力。
美國(guó)的霍華德·休斯醫(yī)學(xué)研究所使用250個(gè)節(jié)點(diǎn)的Spark集群進(jìn)行大腦工作機(jī)制的研究,通過(guò)統(tǒng)計(jì)分析、回歸分析、降維和聚類分析處理1 TB/min的影像數(shù)據(jù),可在幾秒鐘之內(nèi)對(duì)6800萬(wàn)條時(shí)間序列進(jìn)行處理,研究大腦不同區(qū)域在處理特定方向移動(dòng)時(shí)的表現(xiàn),生成大腦對(duì)方向響應(yīng)的高清區(qū)域圖。采用Spark Streaming實(shí)時(shí)監(jiān)視神經(jīng)元,以此來(lái)發(fā)現(xiàn)神經(jīng)元之間的互相影響[17]。該研究是Spark用于處理醫(yī)學(xué)大數(shù)據(jù)的成功嘗試,在2013年Spark峰會(huì)上引起了強(qiáng)烈反響和關(guān)注。他們的研究一直持續(xù),并在2014年Spark峰會(huì)上開(kāi)源了一個(gè)尋找模式復(fù)雜、高維神經(jīng)反應(yīng)的庫(kù)“Thunder”,采用Spark Streaming和MLLib進(jìn)行流處理和機(jī)器學(xué)習(xí)算法的整合,適用于多種神經(jīng)數(shù)據(jù)的處理。
基因組學(xué)大數(shù)據(jù)分析在臨床醫(yī)療尤其是個(gè)性化醫(yī)療中將發(fā)揮非常關(guān)鍵的作用。2014年Spark峰會(huì)上,加州大學(xué)伯克利分校的研究人員介紹了他們將Spark引入到在基因組學(xué)研究中的部分成果。短讀基因序列校準(zhǔn)器是數(shù)據(jù)處理中最昂貴的步驟之一,他們研發(fā)的基于Spark的核苷酸排列程序(Scalable Nucleotide Alignment Program, SNAP)是迄今為止最準(zhǔn)確和最快的校準(zhǔn)器[18],使此類數(shù)據(jù)的處理速度比之前快3~10倍。ADAM是一個(gè)基于Spark的高性能DNA測(cè)序數(shù)據(jù)分析流程,能夠執(zhí)行復(fù)雜的計(jì)算密集型任務(wù)。使用一個(gè)82個(gè)節(jié)點(diǎn)的Spark集群,ADAM可以用比其他系統(tǒng)快50~110倍的速度來(lái)執(zhí)行基因?qū)W中兩個(gè)最關(guān)鍵的步驟[19]。他們還將Spark處理平臺(tái)用于識(shí)別個(gè)體和參考標(biāo)準(zhǔn)之間的差異,提出了一種具有合適評(píng)價(jià)指標(biāo)的基因組學(xué)基準(zhǔn)SMASH[20]。
Spark作為一個(gè)開(kāi)源的大數(shù)據(jù)處理平臺(tái),以其內(nèi)存計(jì)算、可伸縮及高效的容錯(cuò)特性,與分布式文件存儲(chǔ)系統(tǒng)、分布式數(shù)據(jù)庫(kù)結(jié)合使用,配合其豐富的生態(tài)系統(tǒng),解決了數(shù)據(jù)增長(zhǎng)和處理性能需求之間存在的瓶頸問(wèn)題。Spark能夠滿足醫(yī)學(xué)信息處理中以交互式查詢和迭代計(jì)算為代表的統(tǒng)計(jì)分析、數(shù)據(jù)挖掘、圖形計(jì)算等各種數(shù)據(jù)處理需求,可用于臨床轉(zhuǎn)化醫(yī)學(xué)研究、基于海量原始數(shù)據(jù)的實(shí)時(shí)衛(wèi)生統(tǒng)計(jì)和輔助決策、文獻(xiàn)挖掘、流行病預(yù)警和預(yù)測(cè),加速?gòu)陌l(fā)現(xiàn)知識(shí)到實(shí)際應(yīng)用的過(guò)程,將在生物醫(yī)學(xué)大數(shù)據(jù)處理分析中得到更廣泛和深入的應(yīng)用。
[1] MW Davidson, DA Haim, JM Radin. Using Networks to Combine “Big Data” and Traditional Surveillance to Improve Influenza Predictions[J/OL].[2015-01-29].http://www.nature.com/srep/2015/150129/srep08154/full/srep08154.html.
[2] Miguel Helft.大數(shù)據(jù)能治愈癌癥嗎?[EB/OL].[2014-10-29]. http://www.fortunechina.com/business/c/2014-10/29/content_225089.htm.
[3] OBAMA ADMINISTRATION: Big Data Research and Development Initiative[EB/OL].[2012-03-30].http://www.whitehouse.gov/sites/default/files/microsites/ostp/big_data_press_release.pdf.
[4] RC Taylor. An overview of the Hadoop/MapReduce/HBase framework and its current applications in bioinformatics[J].BMC Bioinformatics,2010,11(Suppl 12):S1.
[5] MC Schatz. Cloudburst: Highly Sensitive Read Mapping with Mapreduce[J]. Bioinformatics,2009,25(11):1363-1369.
[6] S Leo, F Santoni, G Zanetti. Biodoop: Bioinformatics on hadoop[C]//Proceedings of the 38th International Conference on Parallel Processing Workshops (ICPPW 2009). Vienna, Austria: 2009:415-422.
[7] A Matsunaga, M Tsugawa, J Fortes. CloudBLAST: Combining Mapreduce and Virtualization on Distributed Resources for Bioinformatics Applications[C]//IEEE 4th International Conference on eScience (eScience 2008). Indiana,USA:2008:222- 229.
[8] H Lee, Y Yang, H Chae, et al. BioVLAB-MMIA: A cloud environment for microRNA and mRNA integrated analysis (MMIA) on Amazon EC2[J]. IEEE Transactions on NanoBioscience,2012,11(3):266- 272.
[9] AP Heath, M Greenway, R Powell, et al. Bionimbus: a cloud for managing, analyzing and sharing large genomics datasets[J]. J Am Med Inform Assoc,2014,21(6):969-975.
[10] J Zhang, DW Chen, JH Zhao, et al. RASS: A Portable Real-time Automatic Sleep Scoring System[C]// Proceedings of 2012 IEEE 33rd Conference on Real-Time Systems Symposium(RTSS). Washington D.C., USA:2012:105-114.
[11] Explorys Co.Ltd. Unlocking the Power of BIG DATA to Improve Healthcare for Everyone [EB/OL].[2015-01-20].https://www.explorys. com/docs/data-sheets/explorys-overview_factsheet.pdf.
[12] M Zaharia, M Chowdhury, M.J. Franklin, et al. Spark: Cluster Computing with Working Sets[C].//Proceedings of the 2nd USENIX Workshop on Hot Topics in Cloud Computing. Boston, USA,2010.
[13] M Zaharia, M Chowdhury, T Das, et al. Resilient distributed datasets: a fault-tolerant abstraction for in-memory cluster computing[C]//Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation. San Jose: USENIX Association,2012:2-2.
[14] M Chowdhury. Performance and Scalability of Broadcast in Spark[EB/OL].[2014-10-08].http://www.cs.berkeley.edu/~agearh/ cs267.sp10/files/mosharaf-spark-bc-report-spring10.pdf.
[15] S Agarwal, A Panda, B Mozafari, et al. Blink and It’s Done: Interactive Queries on Very Large Data[C]//Proceedings of 38th International Conference on Very Large Databases (VLDB 2012). Istanbul, Turkey,2012:1902-1905.
[16] L Haoyuan, G Ali, Z Matei, et al. Tachyon: Reliable, Memory Speed Storage for Cluster Computing Frameworks[C]// Proceedings of the ACM Symposium on Cloud Computing(SOCC '14). Seattle, Washington, USA,2014:1-15.
[17] D Patterson. Spark meets Genomics: Helping Fight the Big C with the Big D [EB/OL].[2015-02-25].http://spark-summit.org/2014/ talk/david-patterson.
[18] Z Matei, William J. Bolosky, C Kristal, et al. Faster and More Accurate Sequence Alignment with SNAP[EB/OL].[2015-02-25]. http://arxiv.org/abs/1111.5572.
[19] M Massie, F Nothaft, C Hartl, et al. ADAM: Genomics Formats and Processing Patterns for Cloud Scale Computing[EB/OL]. [2013-12-15].http://www.eecs.berkeley.edu/Pubs/TechRpts/2013/ EECS-2013-207.html.
[20] A Talwalkar,J Liptrap,J Newcomb, et al. SMASH: A Benchmarking Toolkit for Human Genome Variant Calling[J]. Bioinformatics, 2014,30(19):2787-2795.
Big Data Processing Platform Spark and Its Biomedical Applications
FAN Wei-wei1,2, ZHAO Dong-sheng1*
(1. Institute of Health Service and Medical Information, Academy of Military Medical Sciences, Beijing 100850, China; 2. Information Department of 309 PLA Hospital, Beijing 100091, China)
With the rapid development of life sciences and medical informatization, an explosive growth trend of biomedical data has appeared, whose processing has the problems of a large mount of data, complex multi-dimensional relations and high interactive response demands. There are some defects in biomedical big data processing by using traditional database and Hadoop. Spark is a novel open-source big data platform based on memory computation, which has abundant programming interfaces, general processing framework and pluralistic operation modes. This article introduced the key technologies and features of Spark, combined analysis of characteristics of biomedical big data and successful cases of Spark, and discussed the applicability and potential advantages of Spark in the biomedical big data processing.
big data; Spark; medical research; biomedical informatics
10.3969/j.issn.2095-5707.2015.02.001
(2015-02-27;編輯:張華敏)
軍隊(duì)后勤科技“十二五”重點(diǎn)項(xiàng)目(BS211R008,BS212J009)
范煒瑋,工程師,研究方向?yàn)獒t(yī)學(xué)信息學(xué)。E-mail: vivianfan_81@139.com
趙東升,研究員,研究方向?yàn)樯镝t(yī)學(xué)信息學(xué)。E-mail: dszhao@bmi.ac.cn
中國(guó)中醫(yī)藥圖書(shū)情報(bào)雜志2015年2期