本申請涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種數(shù)據(jù)分析方法和數(shù)據(jù)分析平臺以及服務器。
背景技術(shù):
在海量數(shù)據(jù)處理中,數(shù)據(jù)的實時處理一直是業(yè)界聚焦的重點。數(shù)據(jù)的處理不僅僅在于數(shù)據(jù)的計算,更要考慮諸如數(shù)據(jù)存儲能力、數(shù)據(jù)計算能力、水平擴展能力等多個方面。
在大數(shù)據(jù)存儲方面,如何存儲海量數(shù)據(jù)是目前較為前言的一個問題。HDFS等分布式文件系統(tǒng)以及HBase分布式數(shù)據(jù)庫等技術(shù)的發(fā)展,在一定程度上很好地解決了這個問題,但基于Hadoop生態(tài)環(huán)境的分布式存儲在部署、管理上較為復雜,在數(shù)據(jù)計算方面,Hadoop生態(tài)環(huán)境提出了MapReduce等分布式計算框架,但其編程較為復雜,因此,可以看出,現(xiàn)有的數(shù)據(jù)分析平臺在進行數(shù)據(jù)分析時,實現(xiàn)較為復雜。
技術(shù)實現(xiàn)要素:
有鑒于此,本申請?zhí)峁┮环N數(shù)據(jù)分析方法和數(shù)據(jù)分析平臺以及服務器,能夠解決現(xiàn)有數(shù)據(jù)分析平臺在進行數(shù)據(jù)分析時實現(xiàn)較為復雜的問題。
具體地,本申請是通過如下技術(shù)方案實現(xiàn)的:
一方面,提供一種數(shù)據(jù)分析平臺,包括:數(shù)據(jù)源,與所述數(shù)據(jù)源連接的Elasticsearch索引模塊以及與所述Elasticsearch索引模塊連接的Spark SQL處理模塊和與所述Spark SQL處理模塊連接的數(shù)據(jù)呈現(xiàn)模塊,其中,所述數(shù)據(jù)源,用于提供數(shù)據(jù);所述Elasticsearch索引模塊,用于通過數(shù)據(jù)搜索接口從所述數(shù)據(jù)源獲取搜索的數(shù)據(jù),并對所述數(shù)據(jù)進行預處理,并將預處理后的數(shù)據(jù)發(fā)送至所述Spark SQL處理模塊;所述Spark SQL處理模塊,用于對所述預處理后的數(shù)據(jù)進行數(shù)據(jù)分析,并將數(shù)據(jù)分析后的數(shù)據(jù)發(fā)送至所述數(shù)據(jù)呈現(xiàn)模塊;所述數(shù)據(jù)呈現(xiàn)模塊,用于呈現(xiàn)所述數(shù)據(jù)分析后的數(shù)據(jù)。
另一方面,提供一種數(shù)據(jù)分析方法,應用于數(shù)據(jù)分析平臺,所述數(shù)據(jù)分析平臺包括數(shù)據(jù)源,與所述數(shù)據(jù)源連接的Elasticsearch索引模塊以及與所述Elasticsearch索引模塊連接的Spark SQL處理模塊和與所述Spark SQL處理模塊連接的數(shù)據(jù)呈現(xiàn)模塊,所述方法包括:所述數(shù)據(jù)分析平臺中的所述Elasticsearch索引模塊通過數(shù)據(jù)搜索接口從所述數(shù)據(jù)源獲取搜索的數(shù)據(jù),并對所述數(shù)據(jù)進行預處理,并將預處理后的數(shù)據(jù)發(fā)送至所述數(shù)據(jù)分析平臺中的Spark SQL處理模塊;所述數(shù)據(jù)分析平臺中的Spark SQL處理模塊對所述預處理后的數(shù)據(jù)進行數(shù)據(jù)分析,并將數(shù)據(jù)分析后的數(shù)據(jù)發(fā)送至所述數(shù)據(jù)分析平臺中的數(shù)據(jù)呈現(xiàn)模塊;所述數(shù)據(jù)分析平臺中的數(shù)據(jù)呈現(xiàn)模塊,用于呈現(xiàn)所述數(shù)據(jù)分析后的數(shù)據(jù)。
又一方面,提供一種服務器,包括上述數(shù)據(jù)分析平臺。
采用本申請?zhí)峁┑臄?shù)據(jù)分析方法和數(shù)據(jù)分析平臺以及服務器,該數(shù)據(jù)分析平臺包括數(shù)據(jù)源,與該數(shù)據(jù)源連接的Elasticsearch索引模塊以及與該Elasticsearch索引模塊連接的Spark SQL處理模塊和與該Spark SQL處理模塊連接的數(shù)據(jù)呈現(xiàn)模塊,其中,該數(shù)據(jù)源,用于提供數(shù)據(jù);該Elasticsearch索引模塊,用于通過數(shù)據(jù)搜索接口從該數(shù)據(jù)源獲取搜索的數(shù)據(jù),并對該數(shù)據(jù)進行預處理,并將預處理后的數(shù)據(jù)發(fā)送至該Spark SQL處理模塊;該Spark SQL處理模塊,用于對該預處理后的數(shù)據(jù)進行數(shù)據(jù)分析,并將數(shù)據(jù)分析后的數(shù)據(jù)發(fā)送至該數(shù)據(jù)呈現(xiàn)模塊;該數(shù)據(jù)呈現(xiàn)模塊,用于呈現(xiàn)該數(shù)據(jù)分析后的數(shù)據(jù)。這樣,本申請通過Elasticsearch作為數(shù)據(jù)的存儲媒介,提供了豐富的訪問和搜索數(shù)據(jù)的接口,并利用Spark SQL強大的內(nèi)存計算能力可以完成復雜的數(shù)據(jù)計算。兩者相互配合完成數(shù)據(jù)的預處理、存儲、容錯、計算等一系列數(shù)據(jù)分析過程,實現(xiàn)簡單,從而解決了現(xiàn)有數(shù)據(jù)分析平臺在進行數(shù)據(jù)分析時實現(xiàn)較為復雜的問題。
附圖說明
圖1是本申請一示例性實施例示出的一種數(shù)據(jù)分析平臺的結(jié)構(gòu)示意圖;
圖2是本申請一示例性實施例示出的一種數(shù)據(jù)分析框架的結(jié)構(gòu)示意圖;
圖3是本申請一示例性實施例示出的一種數(shù)據(jù)分析方法的流程示意圖;
圖4是本申請一示例性實施例示出的一種服務器的結(jié)構(gòu)示意圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。
應當理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。
本申請?zhí)峁┑臄?shù)據(jù)分析平臺通過Spark SQL計算模塊的高計算性能和Elasticsearch搜索模塊的實時搜索功能,進行準確實時的數(shù)據(jù)分析,Elasticsearch作為數(shù)據(jù)的存儲媒介,提供了豐富的訪問和搜索數(shù)據(jù)的接口;Spark SQL強大的內(nèi)存計算能力可以完成復雜的數(shù)據(jù)計算。兩者相互配合完成數(shù)據(jù)的預處理、存儲、容錯、計算等一系列數(shù)據(jù)分析過程。
下面通過以下實施例對本申請進行詳細說明。
圖1為本申請實施例提供的一種數(shù)據(jù)分析平臺,如圖1所示,該數(shù)據(jù)分析平臺包括數(shù)據(jù)源101,與該數(shù)據(jù)源101連接的Elasticsearch索引模塊102以及與該Elasticsearch索引模塊102連接的Spark SQL處理模塊103和與該Spark SQL處理模塊103連接的數(shù)據(jù)呈現(xiàn)模塊104,其中,
該數(shù)據(jù)源101,用于提供數(shù)據(jù);
該Elasticsearch索引模塊102,用于通過數(shù)據(jù)搜索接口從該數(shù)據(jù)源獲取搜索的數(shù)據(jù),并對該數(shù)據(jù)進行預處理,并將預處理后的數(shù)據(jù)發(fā)送至該Spark SQL處理模塊103;
該Spark SQL處理模塊103,用于對該預處理后的數(shù)據(jù)進行數(shù)據(jù)分析,并將數(shù)據(jù)分析后的數(shù)據(jù)發(fā)送至該數(shù)據(jù)呈現(xiàn)模塊104;
該數(shù)據(jù)呈現(xiàn)模塊104,用于呈現(xiàn)該數(shù)據(jù)分析后的數(shù)據(jù)。
在本申請一種可能的實現(xiàn)方式中,該Elasticsearch索引模塊與該Spark SQL處理模塊通過JSON結(jié)構(gòu)進行數(shù)據(jù)交互。
其中,該Elasticsearch索引模塊對數(shù)據(jù)的預處理可以是對數(shù)據(jù)進行生成倒排索引、進行中文分詞、完成自動分布式存儲和備份等處理,這樣,不但保證了數(shù)據(jù)的安全性和可訪問性,更加快了數(shù)據(jù)的方位速度、豐富了數(shù)據(jù)方位接口。另外,通過使用Spark SQL的計算能力,Spark SQL不僅支持結(jié)構(gòu)化數(shù)據(jù)的操作,還支持從RDD、parquet文件、JSON文件中獲取數(shù)據(jù),并通過Web頁面的方式或者使用移動終端的方式進行數(shù)據(jù)的展現(xiàn)。
在本申請實施例中,該數(shù)據(jù)分析平臺的數(shù)據(jù)分析框架可以是如圖2所示的數(shù)據(jù)分析框架,如圖2所示,該數(shù)據(jù)分析框架包括位于框架最低層的數(shù)據(jù)源,該數(shù)據(jù)源支持HBASE、HIVE、HDFS以及MYSOL等構(gòu)架,在數(shù)據(jù)源上一層為搜索框架,該搜索框架由Elasticsearch搜索模塊完成數(shù)據(jù)搜索,該Elasticsearch搜索模塊提供數(shù)據(jù)搜索接口,用于搜索數(shù)據(jù)并從數(shù)據(jù)源獲取數(shù)據(jù),在搜索框架上一層為計算框架,該計算框架由Spark SQL計算模塊以及APACHE SPARK、MLlib、GRAPHX完成對從Elasticsearch搜索模塊傳輸?shù)臄?shù)據(jù)的計算處理,該計算框架的上一層,也即該數(shù)據(jù)分析框架的最上層為數(shù)據(jù)呈現(xiàn)框架,該數(shù)據(jù)呈現(xiàn)框架通過WEB APP和MOBLIE APP對計算框架傳輸?shù)臄?shù)據(jù)進行呈現(xiàn)。
采用上述數(shù)據(jù)分析平臺,通過Elasticsearch作為數(shù)據(jù)的存儲媒介,提供了豐富的訪問和搜索數(shù)據(jù)的接口,并利用Spark SQL強大的內(nèi)存計算能力可以完成復雜的數(shù)據(jù)計算。兩者相互配合完成數(shù)據(jù)的預處理、存儲、容錯、計算等一系列數(shù)據(jù)分析過程,實現(xiàn)簡單,從而解決了現(xiàn)有數(shù)據(jù)分析平臺在進行數(shù)據(jù)分析時實現(xiàn)較為復雜的問題。
圖3為本申請實施例提供的一種數(shù)據(jù)分析方法,如圖3所示,該方法應用于上述數(shù)據(jù)分析平臺,所述數(shù)據(jù)分析平臺包括數(shù)據(jù)源,與所述數(shù)據(jù)源連接的Elasticsearch索引模塊以及與所述Elasticsearch索引模塊連接的Spark SQL處理模塊和與所述Spark SQL處理模塊連接的數(shù)據(jù)呈現(xiàn)模塊,所述方法包括:
S301、該數(shù)據(jù)分析平臺中的該Elasticsearch索引模塊通過數(shù)據(jù)搜索接口從該數(shù)據(jù)源獲取搜索的數(shù)據(jù),并對該數(shù)據(jù)進行預處理,并將預處理后的數(shù)據(jù)發(fā)送至該數(shù)據(jù)分析平臺中的Spark SQL處理模塊。
可選地,該數(shù)據(jù)分析平臺中的該Elasticsearch索引模塊對該數(shù)據(jù)進行生成倒排索引、進行中文分詞、完成自動分布式存儲和備份。
S302、該數(shù)據(jù)分析平臺中的Spark SQL處理模塊對該預處理后的數(shù)據(jù)進行數(shù)據(jù)分析,并將數(shù)據(jù)分析后的數(shù)據(jù)發(fā)送至該數(shù)據(jù)分析平臺中的數(shù)據(jù)呈現(xiàn)模塊。
可選地,該數(shù)據(jù)分析平臺中的該Elasticsearch索引模塊將預處理后的數(shù)據(jù)通過JSON結(jié)構(gòu)發(fā)送至該數(shù)據(jù)分析平臺中的Spark SQL處理模塊。
S303、該數(shù)據(jù)分析平臺中的數(shù)據(jù)呈現(xiàn)模塊,用于呈現(xiàn)該數(shù)據(jù)分析后的數(shù)據(jù)。
上述方法中各步驟的實現(xiàn)過程具體詳見上述數(shù)據(jù)分析平臺中各模塊的實現(xiàn)過程,在此不再贅述。
采用上述數(shù)據(jù)分析方法,通過Elasticsearch作為數(shù)據(jù)的存儲媒介,提供了豐富的訪問和搜索數(shù)據(jù)的接口,并利用Spark SQL強大的內(nèi)存計算能力可以完成復雜的數(shù)據(jù)計算。兩者相互配合完成數(shù)據(jù)的預處理、存儲、容錯、計算等一系列數(shù)據(jù)分析過程,實現(xiàn)簡單,從而解決了現(xiàn)有數(shù)據(jù)分析平臺在進行數(shù)據(jù)分析時實現(xiàn)較為復雜的問題。
圖4為本申請實施例提供的一種服務器,如圖4所示,該服務器包括上述圖1所示的數(shù)據(jù)分析平臺。
以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內(nèi)。