數(shù)據(jù)分析處理的方法和系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明涉及一種數(shù)據(jù)分析處理的方法和系統(tǒng)。上述方法包括以下步驟:進(jìn)入預(yù)先建立的數(shù)據(jù)分析處理新工程;在所述數(shù)據(jù)分析處理新工程中訪問(wèn)功能節(jié)點(diǎn);讀取目標(biāo)文件并導(dǎo)入數(shù)據(jù);根據(jù)需求信息生成數(shù)據(jù)計(jì)算處理腳本;在所述功能節(jié)點(diǎn)中調(diào)用所述數(shù)據(jù)計(jì)算處理腳本,對(duì)所述數(shù)據(jù)進(jìn)行分析處理。上述數(shù)據(jù)分析處理的方法和系統(tǒng),能夠執(zhí)行數(shù)據(jù)計(jì)算處理腳本,對(duì)復(fù)雜的數(shù)據(jù)進(jìn)行分析處理,且所有的數(shù)據(jù)處理過(guò)程均在功能節(jié)點(diǎn)中完成,數(shù)據(jù)不需要在多個(gè)節(jié)點(diǎn)之間流轉(zhuǎn),數(shù)據(jù)處理過(guò)程簡(jiǎn)單,提高了數(shù)據(jù)處理效率。
【專(zhuān)利說(shuō)明】
數(shù)據(jù)分析處理的方法和系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)分析處理的方法和系統(tǒng)。
【背景技術(shù)】
[0002]ETL,是英文Extract-Transform-Load的縮寫(xiě),用來(lái)描述將數(shù)據(jù)從來(lái)源端經(jīng)過(guò)抽取(extract)、轉(zhuǎn)換(transf orm)、加載(load)至目的端的過(guò)程,常見(jiàn)的ETL工具可包括Datastage、kettIe、0WB(0racle Warehouse Builder)等。傳統(tǒng)的ETL工具,不具有執(zhí)行腳本的功能,不能執(zhí)行現(xiàn)有的數(shù)據(jù)分析函數(shù)和第三方擴(kuò)展庫(kù),無(wú)法對(duì)復(fù)雜的需要科學(xué)計(jì)算的數(shù)據(jù)進(jìn)行分析處理。此外,傳統(tǒng)的ETL工具,例如kettle,只能處理流式數(shù)據(jù),在數(shù)據(jù)處理過(guò)程中,需要通過(guò)一個(gè)節(jié)點(diǎn)加載數(shù)據(jù),然后通過(guò)下一個(gè)節(jié)點(diǎn)對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換、清洗,到最后流入到結(jié)束節(jié)點(diǎn),需要經(jīng)過(guò)一系列的節(jié)點(diǎn),數(shù)據(jù)處理過(guò)程復(fù)雜繁瑣,處理效率低。
【發(fā)明內(nèi)容】
[0003]基于此,有必要提供一種數(shù)據(jù)分析處理的方法,能夠?qū)?fù)雜的數(shù)據(jù)進(jìn)行分析處理,且數(shù)據(jù)處理過(guò)程簡(jiǎn)單,提高數(shù)據(jù)處理效率。
[0004]此外,還有必要提供一種數(shù)據(jù)分析處理的系統(tǒng),能夠?qū)?fù)雜的數(shù)據(jù)進(jìn)行分析處理,且數(shù)據(jù)處理過(guò)程簡(jiǎn)單,提高數(shù)據(jù)處理效率。
[0005]—種數(shù)據(jù)分析處理的方法,包括以下步驟:
[0006]進(jìn)入預(yù)先建立的數(shù)據(jù)分析處理新工程;
[0007]在所述數(shù)據(jù)分析處理新工程中訪問(wèn)功能節(jié)點(diǎn);
[0008]讀取目標(biāo)文件并導(dǎo)入數(shù)據(jù);
[0009]根據(jù)需求信息生成數(shù)據(jù)計(jì)算處理腳本;
[0010]在所述功能節(jié)點(diǎn)中調(diào)用所述數(shù)據(jù)計(jì)算處理腳本,對(duì)所述數(shù)據(jù)進(jìn)行分析處理。
[0011]在其中一個(gè)實(shí)施例中,在所述進(jìn)入預(yù)先建立的數(shù)據(jù)分析處理新工程的步驟之前,還包括:
[0012]建立數(shù)據(jù)分析處理新工程;
[0013]所述建立數(shù)據(jù)分析處理新工程的步驟,包括:
[0014]獲取數(shù)據(jù)分析源工程代碼;
[0015]創(chuàng)建數(shù)據(jù)分析處理新工程,并在所述數(shù)據(jù)分析處理新工程中導(dǎo)入所述數(shù)據(jù)分析源工程代碼;
[0016]在所述數(shù)據(jù)分析處理新工程中創(chuàng)建功能節(jié)點(diǎn);
[0017]調(diào)用數(shù)據(jù)計(jì)算工具數(shù)據(jù)包,并根據(jù)預(yù)設(shè)的節(jié)點(diǎn)開(kāi)發(fā)模板將所述數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的數(shù)據(jù)融入所述數(shù)據(jù)分析處理新工程;
[0018]存儲(chǔ)所述數(shù)據(jù)分析處理新工程。
[0019]在其中一個(gè)實(shí)施例中,在所述存儲(chǔ)所述數(shù)據(jù)分析處理新工程的步驟之前,還包括:
[0020]獲取所述數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的科學(xué)計(jì)算擴(kuò)展庫(kù);
[0021]在所述功能節(jié)點(diǎn)中建立所述科學(xué)計(jì)算擴(kuò)展庫(kù)與所述數(shù)據(jù)分析處理新工程的關(guān)聯(lián)關(guān)系;
[0022]修改所述數(shù)據(jù)分析處理新工程的基礎(chǔ)配置,并將所述功能節(jié)點(diǎn)打包。
[0023]在其中一個(gè)實(shí)施例中,在所述功能節(jié)點(diǎn)中調(diào)用所述數(shù)據(jù)計(jì)算處理腳本,對(duì)所述數(shù)據(jù)進(jìn)行分析處理的步驟之后,還包括:
[0024]接收生成數(shù)據(jù)圖表的操作請(qǐng)求;
[0025]根據(jù)所述操作請(qǐng)求調(diào)用所述科學(xué)計(jì)算擴(kuò)展庫(kù)中的圖形處理擴(kuò)展庫(kù)的相關(guān)函數(shù)對(duì)處理后的數(shù)據(jù)進(jìn)行分析,并生成對(duì)應(yīng)的數(shù)據(jù)圖表文件。
[0026]在其中一個(gè)實(shí)施例中,所述方法還包括:
[0027]獲取距離最近的Hadoop集群,并將處理后的數(shù)據(jù)存儲(chǔ)在所述距離最近的Hadoop集群中。
[0028]一種數(shù)據(jù)分析處理的系統(tǒng),包括:
[0029]進(jìn)入模塊,用于進(jìn)入預(yù)先建立的數(shù)據(jù)分析處理新工程;
[0030]訪問(wèn)模塊,用于在所述數(shù)據(jù)分析處理新工程中訪問(wèn)功能節(jié)點(diǎn);
[0031 ]讀取模塊,用于讀取目標(biāo)文件并導(dǎo)入數(shù)據(jù);
[0032]生成腳本模塊,用于根據(jù)需求信息生成數(shù)據(jù)計(jì)算處理腳本;
[0033]調(diào)用模塊,用于在所述功能節(jié)點(diǎn)中調(diào)用所述數(shù)據(jù)計(jì)算處理腳本,對(duì)所述數(shù)據(jù)進(jìn)行分析處理。
[0034]在其中一個(gè)實(shí)施例中,所述系統(tǒng)還包括:
[0035]建立模塊,用于建立數(shù)據(jù)分析處理新工程;
[0036]所述建立模塊包括:
[0037]獲取單元,用于獲取數(shù)據(jù)分析源工程代碼;
[0038]導(dǎo)入單元,用于創(chuàng)建數(shù)據(jù)分析處理新工程,并在所述數(shù)據(jù)分析處理新工程中導(dǎo)入所述數(shù)據(jù)分析源工程代碼;
[0039]創(chuàng)建單元,用于在所述數(shù)據(jù)分析處理新工程中創(chuàng)建功能節(jié)點(diǎn);
[0040]調(diào)用單元,用于調(diào)用數(shù)據(jù)計(jì)算工具數(shù)據(jù)包,并根據(jù)預(yù)設(shè)的節(jié)點(diǎn)開(kāi)發(fā)模板將所述數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的數(shù)據(jù)融入所述數(shù)據(jù)分析處理新工程;
[0041 ]存儲(chǔ)單元,用于存儲(chǔ)所述數(shù)據(jù)分析處理新工程。
[0042]在其中一個(gè)實(shí)施例中,所述獲取單元還用于獲取所述數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的科學(xué)計(jì)算擴(kuò)展庫(kù);
[0043]所述建立模塊還包括:
[0044]關(guān)聯(lián)單元,用于在所述功能節(jié)點(diǎn)中建立所述科學(xué)計(jì)算擴(kuò)展庫(kù)與所述數(shù)據(jù)分析處理新工程的關(guān)聯(lián)關(guān)系;
[0045]修改單元,用于修改所述數(shù)據(jù)分析處理新工程的基礎(chǔ)配置,并將所述功能節(jié)點(diǎn)打包。
[0046]在其中一個(gè)實(shí)施例中,所述系統(tǒng)還包括:
[0047]接收模塊,用于接收生成數(shù)據(jù)圖表的操作請(qǐng)求;
[0048]生成圖表模塊,用于根據(jù)所述操作請(qǐng)求調(diào)用所述科學(xué)計(jì)算擴(kuò)展庫(kù)中的圖形處理擴(kuò)展庫(kù)的相關(guān)函數(shù)對(duì)處理后的數(shù)據(jù)進(jìn)行分析,并生成對(duì)應(yīng)的數(shù)據(jù)圖表文件。
[0049]在其中一個(gè)實(shí)施例中,所述系統(tǒng)還包括:
[0050]存儲(chǔ)模塊,用于獲取距離最近的Hadoop集群,并將處理后的數(shù)據(jù)存儲(chǔ)在所述距離最近的Hadoop集群中。
[0051]上述數(shù)據(jù)分析處理的方法和系統(tǒng),在數(shù)據(jù)分析處理新工程中訪問(wèn)功能節(jié)點(diǎn),讀取目標(biāo)文件導(dǎo)入數(shù)據(jù)后,可調(diào)用根據(jù)需求信息生成的數(shù)據(jù)計(jì)算處理腳本對(duì)數(shù)據(jù)進(jìn)行處理,能夠執(zhí)行數(shù)據(jù)計(jì)算處理腳本,對(duì)復(fù)雜的數(shù)據(jù)進(jìn)行分析處理,且所有的數(shù)據(jù)處理過(guò)程均在功能節(jié)點(diǎn)中完成,數(shù)據(jù)不需要在多個(gè)節(jié)點(diǎn)之間流轉(zhuǎn),數(shù)據(jù)處理過(guò)程簡(jiǎn)單,提高了數(shù)據(jù)處理效率。
【附圖說(shuō)明】
[0052]圖1為一個(gè)實(shí)施例中數(shù)據(jù)分析處理的方法的流程示意圖;
[0053]圖2為一個(gè)實(shí)施例中建立數(shù)據(jù)分析處理新工程的流程示意圖;
[0054]圖3為一個(gè)實(shí)施例中生成數(shù)據(jù)圖表的流程示意圖;
[0055]圖4為一個(gè)實(shí)施例中數(shù)據(jù)分析處理的系統(tǒng)的結(jié)構(gòu)示意圖;
[0056]圖5為另一個(gè)實(shí)施例中數(shù)據(jù)分析處理的系統(tǒng)的結(jié)構(gòu)示意圖;
[0057]圖6為一個(gè)實(shí)施例中建立模塊的內(nèi)部結(jié)構(gòu)不意圖;
[0058]圖7為另一個(gè)實(shí)施例中數(shù)據(jù)分析處理的系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0059]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0060]如圖1所示,一種數(shù)據(jù)分析處理的方法,包括以下步驟:
[0061]步驟S110,進(jìn)入預(yù)先建立的數(shù)據(jù)分析處理新工程。
[0062]具體的,數(shù)據(jù)分析處理新工程指的是在ETL(Extract-Transform-Load)工具中融入科學(xué)計(jì)算功能所建立的新工程。ETL工具負(fù)責(zé)將分布的、異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)如關(guān)系數(shù)據(jù)、平面數(shù)據(jù)文件等抽取到臨時(shí)中間層后進(jìn)行清洗、轉(zhuǎn)換、集成,最后加載到數(shù)據(jù)倉(cāng)庫(kù)或數(shù)據(jù)集市中,成為聯(lián)機(jī)分析處理、數(shù)據(jù)挖掘的基礎(chǔ)。常見(jiàn)的ETL工具可包括Datastage、kettle(水壺)NOffB(OracIe Warehouse Builder)等,其中,Datastage是一種數(shù)據(jù)集成軟件平臺(tái),具有滿足最苛刻的數(shù)據(jù)集成需求所需的功能性、靈活性和可伸縮性;kettle是由純java編寫(xiě)的一款開(kāi)源的ETL工具,可以在Windows、Linux、Unix上運(yùn)行,主要用于數(shù)據(jù)的抽取,具有高效穩(wěn)定的特點(diǎn);OWB是Oracle的一個(gè)綜合工具,它提供對(duì)ETL、完全集成的關(guān)系和維度建模、數(shù)據(jù)質(zhì)量、數(shù)據(jù)審計(jì),以及數(shù)據(jù)和元數(shù)據(jù)的整個(gè)生命周期的管理。在本實(shí)施例中,可在ETL工具kettle中融入python的科學(xué)計(jì)算功能,python是一種面向?qū)ο?、解釋型?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,它具有豐富的擴(kuò)展庫(kù),可以對(duì)數(shù)據(jù)進(jìn)行科學(xué)計(jì)算,幫助完成各種高級(jí)的數(shù)據(jù)分析任務(wù)??茖W(xué)計(jì)算指的是為解決科學(xué)和工程中的數(shù)學(xué)問(wèn)題利用計(jì)算機(jī)進(jìn)行的數(shù)值計(jì)算,主要包括建立數(shù)學(xué)模型、建立求解的計(jì)算方法和計(jì)算機(jī)實(shí)現(xiàn)三個(gè)階段,常用的科學(xué)計(jì)算語(yǔ)言、軟件包括F0RTRANALG0L、MATLAB等,可以理解地,也可以使用其它具有科學(xué)計(jì)算功能的語(yǔ)言與ETL工具結(jié)合,不限于此。
[0063]步驟S120,在數(shù)據(jù)分析處理新工程中訪問(wèn)功能節(jié)點(diǎn)。
[0064]具體的,在kettle中融入python的科學(xué)計(jì)算功能,并開(kāi)發(fā)生成功能節(jié)點(diǎn),該功能節(jié)點(diǎn)可提供多種科學(xué)計(jì)算功能,例如執(zhí)行python代碼、調(diào)用python的科學(xué)計(jì)算擴(kuò)展庫(kù)進(jìn)行數(shù)據(jù)分析運(yùn)算等,python的科學(xué)計(jì)算擴(kuò)展庫(kù)可包括NumPy、ScriPy和matplotlib等,分別提供快速數(shù)組處理、數(shù)值運(yùn)算以及繪圖功能。在數(shù)據(jù)分析處理新工程中訪問(wèn)功能節(jié)點(diǎn),可使用功能節(jié)點(diǎn)中的多種科學(xué)計(jì)算功能。
[0065]步驟S130,讀取目標(biāo)文件并導(dǎo)入數(shù)據(jù)。
[0066]具體的,目標(biāo)文件可存儲(chǔ)在本地或是分布式存儲(chǔ)系統(tǒng)的服務(wù)器集群上。訪問(wèn)功能節(jié)點(diǎn)后,可從本地或分布式存儲(chǔ)系統(tǒng)的服務(wù)器集群中選擇所需的目標(biāo)文件,讀取該目標(biāo)文件并導(dǎo)入需要處理的數(shù)據(jù)。
[0067]步驟S140,根據(jù)需求信息生成數(shù)據(jù)計(jì)算處理腳本。
[0068]具體的,需求信息指的是對(duì)數(shù)據(jù)所需作出的分析處理需求,例如需要調(diào)用NumPy擴(kuò)展庫(kù)中的矢量處理函數(shù)對(duì)數(shù)據(jù)中的數(shù)組進(jìn)行處理,或是需要對(duì)導(dǎo)入的數(shù)據(jù)進(jìn)行批量處理等??筛鶕?jù)不同的需求信息生成對(duì)應(yīng)的python數(shù)據(jù)計(jì)算處理腳本,并存儲(chǔ)生成的數(shù)據(jù)計(jì)算處理腳本,使下次進(jìn)行數(shù)據(jù)處理時(shí)可直接調(diào)用該數(shù)據(jù)計(jì)算處理腳本,無(wú)需重新生成。
[0069]步驟S150,在功能節(jié)點(diǎn)中調(diào)用數(shù)據(jù)計(jì)算處理腳本,對(duì)數(shù)據(jù)進(jìn)行分析處理。
[ΟΟΤ?]具體的,在功能節(jié)點(diǎn)中可直接執(zhí)行根據(jù)需求信息生成的python數(shù)據(jù)計(jì)算處理腳本,并根據(jù)python數(shù)據(jù)計(jì)算處理腳本對(duì)數(shù)據(jù)進(jìn)行分析處理,例如數(shù)據(jù)抽取、數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換、數(shù)值運(yùn)算等操作,其中,數(shù)據(jù)清洗指的是對(duì)數(shù)據(jù)進(jìn)行重新審查和校驗(yàn)的過(guò)程,目的在于刪除重復(fù)信息、糾正存在的錯(cuò)誤,并提供數(shù)據(jù)一致性,數(shù)據(jù)轉(zhuǎn)換指的是將數(shù)據(jù)從一種表示形式變?yōu)榱硪环N表現(xiàn)形式的過(guò)程。也可通過(guò)python數(shù)據(jù)計(jì)算處理腳本調(diào)用科學(xué)計(jì)算擴(kuò)展庫(kù)中的函數(shù),對(duì)數(shù)據(jù)進(jìn)行科學(xué)計(jì)算。在其它的實(shí)施例中,在功能節(jié)點(diǎn)中可直接讀取具有目標(biāo)后綴的腳本文件,例如執(zhí)行后綴為.Py的腳本文件。
[0071]上述數(shù)據(jù)分析處理的方法,在數(shù)據(jù)分析處理新工程中訪問(wèn)功能節(jié)點(diǎn),讀取目標(biāo)文件導(dǎo)入數(shù)據(jù)后,可調(diào)用根據(jù)需求信息生成的數(shù)據(jù)計(jì)算處理腳本對(duì)數(shù)據(jù)進(jìn)行處理,能夠執(zhí)行數(shù)據(jù)計(jì)算處理腳本,對(duì)復(fù)雜的數(shù)據(jù)進(jìn)行分析處理,且所有的數(shù)據(jù)處理過(guò)程均在功能節(jié)點(diǎn)中完成,數(shù)據(jù)不需要在多個(gè)節(jié)點(diǎn)之間流轉(zhuǎn),數(shù)據(jù)處理過(guò)程簡(jiǎn)單,提高了數(shù)據(jù)處理效率。
[0072]在另一個(gè)實(shí)施例中,在步驟SI10進(jìn)入預(yù)先建立的數(shù)據(jù)分析處理新工程之前,還包括:建立數(shù)據(jù)分析處理新工程。
[0073]如圖2所示,在一個(gè)實(shí)施例中,建立數(shù)據(jù)分析處理新工程的步驟,包括:
[0074]步驟S202,獲取數(shù)據(jù)分析源工程代碼。
[0075]具體的,數(shù)據(jù)分析源工程代碼指的是ETL工具的工程源碼,例如kettle的工程源碼等。獲取數(shù)據(jù)分析源工程代碼后,可對(duì)數(shù)據(jù)分析源工程代碼進(jìn)行解壓,得到對(duì)應(yīng)的工程文件。
[0076]步驟S204,創(chuàng)建數(shù)據(jù)分析處理新工程,并在數(shù)據(jù)分析處理新工程中導(dǎo)入數(shù)據(jù)分析源工程代碼。
[0077]具體的,可在Eclipse等開(kāi)發(fā)環(huán)境中以新工程的形式導(dǎo)入數(shù)據(jù)分析源工程代碼,SP在Eclipse等開(kāi)發(fā)環(huán)境中創(chuàng)建新工程作為數(shù)據(jù)分析處理新工程,并將解壓得到的ETL工具,例如kettle的工程源碼導(dǎo)入數(shù)據(jù)分析處理新工程。
[0078]步驟S206,在數(shù)據(jù)分析處理新工程中創(chuàng)建功能節(jié)點(diǎn)。
[0079]具體的,可在數(shù)據(jù)分析處理新工程中創(chuàng)建功能節(jié)點(diǎn),并根據(jù)kettle工具提供的多個(gè)接口開(kāi)發(fā)該功能節(jié)點(diǎn),例如利用TemplateStepDialog對(duì)話框類(lèi)實(shí)現(xiàn)功能節(jié)點(diǎn)的功能界面等。在數(shù)據(jù)分析處理新工程中創(chuàng)建功能節(jié)點(diǎn)相當(dāng)于在ket 11 e工具原有的流程處理節(jié)點(diǎn)中重新定制的一個(gè)流程處理節(jié)點(diǎn),功能節(jié)點(diǎn)也可看作kettle工具新開(kāi)發(fā)的一個(gè)插件,該重新定制開(kāi)發(fā)的功能節(jié)點(diǎn)主要用于處理需要進(jìn)行科學(xué)計(jì)算或是復(fù)雜分析的數(shù)據(jù)。
[0080]步驟S208,調(diào)用數(shù)據(jù)計(jì)算工具數(shù)據(jù)包,并根據(jù)預(yù)設(shè)的節(jié)點(diǎn)開(kāi)發(fā)模板將數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的數(shù)據(jù)融入數(shù)據(jù)分析處理新工程。
[0081 ]具體的,數(shù)據(jù)計(jì)算工具數(shù)據(jù)包可包括python代碼及python自帶的豐富的擴(kuò)展庫(kù)數(shù)據(jù)包,例如NumPy、ScriPy和matplotlib等科學(xué)計(jì)算擴(kuò)展庫(kù)的數(shù)據(jù)包??稍趉ettle工具的源碼的插件式節(jié)點(diǎn)開(kāi)發(fā)的基礎(chǔ)上,根據(jù)kettle中原有的節(jié)點(diǎn)開(kāi)發(fā)模板將數(shù)據(jù)計(jì)算工作數(shù)據(jù)包融入到數(shù)據(jù)分析處理新工程中,利用kettle工具中的四大類(lèi)實(shí)現(xiàn)功能節(jié)點(diǎn)編輯、執(zhí)行、保存python數(shù)據(jù)計(jì)算處理腳本的功能,其中,四大類(lèi)分別為T(mén)emplateStep步驟類(lèi)、Temp IateStepData數(shù)據(jù)類(lèi)、Temp late StepMeta元數(shù)據(jù)類(lèi)及Temp IateStepDia log對(duì)話框類(lèi)。不同的類(lèi)提供不同的接口,可調(diào)用各個(gè)接口融入數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的數(shù)據(jù)使功能節(jié)點(diǎn)具有編輯、執(zhí)行、保存python數(shù)據(jù)計(jì)算處理腳本等功能。
[0082]步驟S210,獲取數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的科學(xué)計(jì)算擴(kuò)展庫(kù)。
[0083]具體的,數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中可包括NumPy、ScriPy和matplotlib等科學(xué)計(jì)算擴(kuò)展庫(kù)的數(shù)據(jù),NumPy可用來(lái)存儲(chǔ)和處理大型矩陣,ScriPy可用于抓取web站點(diǎn)并從頁(yè)面中提取結(jié)構(gòu)化的數(shù)據(jù),matplotlib可用于提供圖表生成等。python的科學(xué)計(jì)算功能相比起其它的科學(xué)計(jì)算軟件或語(yǔ)言來(lái)說(shuō),具有更加豐富的擴(kuò)展庫(kù),且擴(kuò)展庫(kù)均是開(kāi)源,python可提供各種調(diào)用接口用于分析處理數(shù)據(jù),語(yǔ)言更為簡(jiǎn)單易讀,容易維護(hù),可輕松完成各種數(shù)據(jù)處理的高級(jí)任務(wù)。
[0084]步驟S212,在功能節(jié)點(diǎn)中建立科學(xué)計(jì)算擴(kuò)展庫(kù)與數(shù)據(jù)分析處理新工程的關(guān)聯(lián)關(guān)系O
[0085]具體的,在功能節(jié)點(diǎn)中建立NumPy、ScriPy和matplotlib等科學(xué)計(jì)算擴(kuò)展庫(kù)與數(shù)據(jù)分析處理新工程的關(guān)聯(lián)關(guān)系,在功能節(jié)點(diǎn)中通過(guò)執(zhí)行python數(shù)據(jù)計(jì)算處理腳本,調(diào)用python提供的對(duì)應(yīng)的接口,即可使用科學(xué)計(jì)算擴(kuò)展庫(kù)中的科學(xué)計(jì)算功能,分析處理數(shù)據(jù)。
[0086]步驟S214,修改數(shù)據(jù)分析處理新工程的基礎(chǔ)配置,并將功能節(jié)點(diǎn)打包。
[0087]具體的,可在plugin.xml等配置文件中修改數(shù)據(jù)分析處理新工程的基礎(chǔ)配置,例如添加功能節(jié)點(diǎn)對(duì)應(yīng)的名稱及描述等,但不限于此。修改完基礎(chǔ)配置后,可將功能節(jié)點(diǎn)打包,并存儲(chǔ)在kettle的插件文件夾中。
[0088]步驟S216,存儲(chǔ)數(shù)據(jù)分析處理新工程。
[0089]具體的,開(kāi)發(fā)完成數(shù)據(jù)分析處理新工程的功能節(jié)點(diǎn)后,可在本地或分布式存儲(chǔ)系統(tǒng)的服務(wù)器集群中存儲(chǔ)數(shù)據(jù)分析處理新工程。在本地或分布式存儲(chǔ)系統(tǒng)的服務(wù)器集群中可使用數(shù)據(jù)分析處理新工程并發(fā)處理多項(xiàng)數(shù)據(jù),提高數(shù)據(jù)處理效率。
[0090]上述數(shù)據(jù)分析處理的方法,通過(guò)在數(shù)據(jù)分析處理新工程中創(chuàng)建并開(kāi)發(fā)功能節(jié)點(diǎn),使功能節(jié)點(diǎn)提供編輯、執(zhí)行、保存數(shù)據(jù)計(jì)算處理腳本等功能,并能在功能節(jié)點(diǎn)中調(diào)用科學(xué)計(jì)算擴(kuò)展庫(kù)分析處理復(fù)雜的數(shù)據(jù),在ETL數(shù)據(jù)分析工具中融入科學(xué)計(jì)算功能,使ETL數(shù)據(jù)分析工具可以用更簡(jiǎn)單的方式,進(jìn)行更加復(fù)雜的數(shù)據(jù)處理,并提高數(shù)據(jù)處理效率。
[0091]如圖3所示,在另一個(gè)實(shí)施例中,在步驟S150在功能節(jié)點(diǎn)中調(diào)用數(shù)據(jù)計(jì)算處理腳本,對(duì)數(shù)據(jù)進(jìn)行分析處理之后,還包括:
[0092]步驟S302,接收生成數(shù)據(jù)圖表的操作請(qǐng)求。
[0093]具體的,在數(shù)據(jù)分析處理新工程的功能節(jié)點(diǎn)中,可設(shè)置有生成數(shù)據(jù)圖表的按鈕,當(dāng)用戶點(diǎn)擊該按鈕,可接收到生成數(shù)據(jù)圖表的操作請(qǐng)求。
[0094]步驟S304,根據(jù)操作請(qǐng)求調(diào)用科學(xué)計(jì)算擴(kuò)展庫(kù)中的圖形處理擴(kuò)展庫(kù)中的相關(guān)函數(shù)對(duì)處理后的數(shù)據(jù)進(jìn)行分析,并生成對(duì)應(yīng)的數(shù)據(jù)圖表文件。
[0095]具體的,可在python數(shù)據(jù)計(jì)算處理腳本中調(diào)用相應(yīng)的接口,使用科學(xué)計(jì)算擴(kuò)展庫(kù)中的matplotl ib等圖形處理擴(kuò)展庫(kù)中的相關(guān)函數(shù),對(duì)處理后的數(shù)據(jù)進(jìn)行分析,并生成對(duì)應(yīng)的圖形、表格等,以可視化的形式進(jìn)行展示,使用戶能更直接地觀看數(shù)據(jù)的分析結(jié)果。生成的數(shù)據(jù)圖表文件可保存在本地或分布式存儲(chǔ)系統(tǒng)的服務(wù)器集群中,存儲(chǔ)在分布式存儲(chǔ)系統(tǒng)的服務(wù)器集群中可減輕服務(wù)器的壓力。
[0096]上述數(shù)據(jù)分析處理的方法,可調(diào)用科學(xué)計(jì)算擴(kuò)展庫(kù)中的圖形處理擴(kuò)展庫(kù)中的相關(guān)函數(shù)對(duì)處理后的數(shù)據(jù)進(jìn)行分析,使處理后的數(shù)據(jù)以圖形、表格等形式展示,更直觀地反映數(shù)據(jù)分析處理結(jié)果。
[0097]在一個(gè)實(shí)施例中,上述數(shù)據(jù)分析處理的方法,還包括:獲取距離最近的Hadoop集群,并將處理后的數(shù)據(jù)存儲(chǔ)在所述距離最近的Hadoop集群中。
[0098]具體的,Hadoop(HadoopDistributed File System,HDFS)是一個(gè)分布式文件存儲(chǔ)系統(tǒng),具有高容錯(cuò)性的特點(diǎn),提供高吞吐量來(lái)訪問(wèn)應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集的應(yīng)用程序??色@取距離當(dāng)前分析處理數(shù)據(jù)的服務(wù)器最近的Hadoop集群服務(wù)器,并將處理后的數(shù)據(jù)及生成的圖表文件等存儲(chǔ)在距離最近的Hadoop集群服務(wù)器中,可減少網(wǎng)絡(luò)傳輸消耗,節(jié)約網(wǎng)絡(luò)資源。
[0099]上述數(shù)據(jù)分析處理的方法,可將數(shù)據(jù)存儲(chǔ)在距離最近的Hadoop集群中,減少了網(wǎng)絡(luò)傳輸消耗,節(jié)約網(wǎng)絡(luò)資源。
[0100]如圖4所示,一種數(shù)據(jù)分析處理的系統(tǒng),包括進(jìn)入模塊410、訪問(wèn)模塊420、讀取模塊430、生成腳本模塊440及調(diào)用模塊450。
[0101]進(jìn)入模塊410,用于進(jìn)入預(yù)先建立的數(shù)據(jù)分析處理新工程。
[0102]具體的,數(shù)據(jù)分析處理新工程指的是在ETL工具中融入科學(xué)計(jì)算功能所建立的新工程。ETL工具負(fù)責(zé)將分布的、異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)如關(guān)系數(shù)據(jù)、平面數(shù)據(jù)文件等抽取到臨時(shí)中間層后進(jìn)行清洗、轉(zhuǎn)換、集成,最后加載到數(shù)據(jù)倉(cāng)庫(kù)或數(shù)據(jù)集市中,成為聯(lián)機(jī)分析處理、數(shù)據(jù)挖掘的基礎(chǔ)。常見(jiàn)的ETL工具可包括Datastage、kettle、0WB等,其中,Datastage是一種數(shù)據(jù)集成軟件平臺(tái),具有滿足最苛刻的數(shù)據(jù)集成需求所需的功能性、靈活性和可伸縮性;kettle是由純java編寫(xiě)的一款開(kāi)源的ETL工具,可以在Windows、Linux、Unix上運(yùn)行,主要用于數(shù)據(jù)的抽取,具有高效穩(wěn)定的特點(diǎn);OWB是Oracle的一個(gè)綜合工具,它提供對(duì)ETL、完全集成的關(guān)系和維度建模、數(shù)據(jù)質(zhì)量、數(shù)據(jù)審計(jì),以及數(shù)據(jù)和元數(shù)據(jù)的整個(gè)生命周期的管理。在本實(shí)施例中,可在ETL工具kettle中融入python的科學(xué)計(jì)算功能,python是一種面向?qū)ο蟆⒔忉屝陀?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,它具有豐富的擴(kuò)展庫(kù),可以對(duì)數(shù)據(jù)進(jìn)行科學(xué)計(jì)算,幫助完成各種高級(jí)的數(shù)據(jù)分析任務(wù)??茖W(xué)計(jì)算指的是為解決科學(xué)和工程中的數(shù)學(xué)問(wèn)題利用計(jì)算機(jī)進(jìn)行的數(shù)值計(jì)算,主要包括建立數(shù)學(xué)模型、建立求解的計(jì)算方法和計(jì)算機(jī)實(shí)現(xiàn)三個(gè)階段,常用的科學(xué)計(jì)算語(yǔ)言、軟件包括FORTRANALGOL、MATLAB等,可以理解地,也可以使用其它具有科學(xué)計(jì)算功能的語(yǔ)言與ETL工具結(jié)合,不限于此。
[0103]訪問(wèn)模塊420,用于在數(shù)據(jù)分析處理新工程中訪問(wèn)功能節(jié)點(diǎn)。
[0?04]具體的,在kettle中融入python的科學(xué)計(jì)算功能,并開(kāi)發(fā)生成功能節(jié)點(diǎn),該功能節(jié)點(diǎn)可提供多種科學(xué)計(jì)算功能,例如執(zhí)行python代碼、調(diào)用python的科學(xué)計(jì)算擴(kuò)展庫(kù)進(jìn)行數(shù)據(jù)分析運(yùn)算等,python的科學(xué)計(jì)算擴(kuò)展庫(kù)可包括NumPy、ScriPy和matplotlib等,分別提供快速數(shù)組處理、數(shù)值運(yùn)算以及繪圖功能。在數(shù)據(jù)分析處理新工程中訪問(wèn)功能節(jié)點(diǎn),可使用功能節(jié)點(diǎn)中的多種科學(xué)計(jì)算功能。
[0105]讀取模塊430,用于讀取目標(biāo)文件并導(dǎo)入數(shù)據(jù)。
[0106]具體的,目標(biāo)文件可存儲(chǔ)在本地或是分布式存儲(chǔ)系統(tǒng)的服務(wù)器集群上。訪問(wèn)功能節(jié)點(diǎn)后,可從本地或分布式存儲(chǔ)系統(tǒng)的服務(wù)器集群中選擇所需的目標(biāo)文件,讀取該目標(biāo)文件并導(dǎo)入需要處理的數(shù)據(jù)。
[0107]生成腳本模塊440,用于根據(jù)需求信息生成數(shù)據(jù)計(jì)算處理腳本。
[0108]具體的,需求信息指的是對(duì)數(shù)據(jù)所需作出的分析處理需求,例如需要調(diào)用NumPy擴(kuò)展庫(kù)中的矢量處理函數(shù)對(duì)數(shù)據(jù)中的數(shù)組進(jìn)行處理,或是需要對(duì)導(dǎo)入的數(shù)據(jù)進(jìn)行批量處理等??筛鶕?jù)不同的需求信息生成對(duì)應(yīng)的python數(shù)據(jù)計(jì)算處理腳本,并存儲(chǔ)生成的數(shù)據(jù)計(jì)算處理腳本,使下次進(jìn)行數(shù)據(jù)處理時(shí)可直接調(diào)用該數(shù)據(jù)計(jì)算處理腳本,無(wú)需重新生成。
[0109]調(diào)用模塊450,用于在功能節(jié)點(diǎn)中調(diào)用所述數(shù)據(jù)計(jì)算處理腳本,對(duì)數(shù)據(jù)進(jìn)行分析處理。
[Ο??Ο]具體的,在功能節(jié)點(diǎn)中可直接執(zhí)行根據(jù)需求信息生成的python數(shù)據(jù)計(jì)算處理腳本,并根據(jù)python數(shù)據(jù)計(jì)算處理腳本對(duì)數(shù)據(jù)進(jìn)行分析處理,例如數(shù)據(jù)抽取、數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換、數(shù)值運(yùn)算等操作,其中,數(shù)據(jù)清洗指的是對(duì)數(shù)據(jù)進(jìn)行重新審查和校驗(yàn)的過(guò)程,目的在于刪除重復(fù)信息、糾正存在的錯(cuò)誤,并提供數(shù)據(jù)一致性,數(shù)據(jù)轉(zhuǎn)換指的是將數(shù)據(jù)從一種表示形式變?yōu)榱硪环N表現(xiàn)形式的過(guò)程。也可通過(guò)python數(shù)據(jù)計(jì)算處理腳本調(diào)用科學(xué)計(jì)算擴(kuò)展庫(kù)中的函數(shù),對(duì)數(shù)據(jù)進(jìn)行科學(xué)計(jì)算。在其它的實(shí)施例中,在功能節(jié)點(diǎn)中可直接讀取具有目標(biāo)后綴的腳本文件,例如執(zhí)行后綴為.Py的腳本文件。
[0111]上述數(shù)據(jù)分析處理的系統(tǒng),在數(shù)據(jù)分析處理新工程中訪問(wèn)功能節(jié)點(diǎn),讀取目標(biāo)文件導(dǎo)入數(shù)據(jù)后,可調(diào)用根據(jù)需求信息生成的數(shù)據(jù)計(jì)算處理腳本對(duì)數(shù)據(jù)進(jìn)行處理,能夠執(zhí)行數(shù)據(jù)計(jì)算處理腳本,對(duì)復(fù)雜的數(shù)據(jù)進(jìn)行分析處理,且所有的數(shù)據(jù)處理過(guò)程均在功能節(jié)點(diǎn)中完成,數(shù)據(jù)不需要在多個(gè)節(jié)點(diǎn)之間流轉(zhuǎn),數(shù)據(jù)處理過(guò)程簡(jiǎn)單,提高了數(shù)據(jù)處理效率。
[0112]如圖5所示,在另一個(gè)實(shí)施例中,上述數(shù)據(jù)分析處理的系統(tǒng),除了包括進(jìn)入模塊410、訪問(wèn)模塊420、讀取模塊430、生成腳本模塊440及調(diào)用模塊450,還包括建立模塊460。
[0113]建立模塊460,用于建立數(shù)據(jù)分析處理新工程。
[0114]如圖6所示,在一個(gè)實(shí)施例中,建立模塊460包括獲取單元602、導(dǎo)入單元604、創(chuàng)建單元606、調(diào)用單元608、關(guān)聯(lián)單元610、修改單元612及存儲(chǔ)單元614。
[0115]獲取單元602,用于獲取數(shù)據(jù)分析源工程代碼。
[0116]具體的,數(shù)據(jù)分析源工程代碼指的是ETL工具的工程源碼,例如kettle的工程源碼等。獲取數(shù)據(jù)分析源工程代碼后,可對(duì)數(shù)據(jù)分析源工程代碼進(jìn)行解壓,得到對(duì)應(yīng)的工程文件。
[0117]導(dǎo)入單元604,用于創(chuàng)建數(shù)據(jù)分析處理新工程,并在數(shù)據(jù)分析處理新工程中導(dǎo)入數(shù)據(jù)分析源工程代碼。
[0118]具體的,可在Eclipse等開(kāi)發(fā)環(huán)境中以新工程的形式導(dǎo)入數(shù)據(jù)分析源工程代碼,SP在Eclipse等開(kāi)發(fā)環(huán)境中創(chuàng)建新工程作為數(shù)據(jù)分析處理新工程,并將解壓得到的ETL工具,例如kettle的工程源碼導(dǎo)入數(shù)據(jù)分析處理新工程。
[0119]創(chuàng)建單元606,用于在數(shù)據(jù)分析處理新工程中創(chuàng)建功能節(jié)點(diǎn)。
[0120]具體的,可在數(shù)據(jù)分析處理新工程中創(chuàng)建功能節(jié)點(diǎn),并根據(jù)kettle工具提供的多個(gè)接口開(kāi)發(fā)該功能節(jié)點(diǎn),例如利用TemplateStepDialog對(duì)話框類(lèi)實(shí)現(xiàn)功能節(jié)點(diǎn)的功能界面等。在數(shù)據(jù)分析處理新工程中創(chuàng)建功能節(jié)點(diǎn)相當(dāng)于在ket 11 e工具原有的流程處理節(jié)點(diǎn)中重新定制的一個(gè)流程處理節(jié)點(diǎn),功能節(jié)點(diǎn)也可看作kettle工具新開(kāi)發(fā)的一個(gè)插件,該重新定制開(kāi)發(fā)的功能節(jié)點(diǎn)主要用于處理需要進(jìn)行科學(xué)計(jì)算或是復(fù)雜分析的數(shù)據(jù)。
[0121]調(diào)用單元608,用于調(diào)用數(shù)據(jù)計(jì)算工具數(shù)據(jù)包,并根據(jù)預(yù)設(shè)的節(jié)點(diǎn)開(kāi)發(fā)模板將數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的數(shù)據(jù)融入數(shù)據(jù)分析處理新工程。
[0122]具體的,數(shù)據(jù)計(jì)算工具數(shù)據(jù)包可包括python代碼及python自帶的豐富的擴(kuò)展庫(kù)數(shù)據(jù)包,例如NumPy、ScriPy和matplotlib等科學(xué)計(jì)算擴(kuò)展庫(kù)的數(shù)據(jù)包??稍趉ettle工具的源碼的插件式節(jié)點(diǎn)開(kāi)發(fā)的基礎(chǔ)上,根據(jù)kettle中原有的節(jié)點(diǎn)開(kāi)發(fā)模板將數(shù)據(jù)計(jì)算工作數(shù)據(jù)包融入到數(shù)據(jù)分析處理新工程中,利用kettle工具中的四大類(lèi)實(shí)現(xiàn)功能節(jié)點(diǎn)編輯、執(zhí)行、保存python數(shù)據(jù)計(jì)算處理腳本的功能,其中,四大類(lèi)分別為T(mén)emplateStep步驟類(lèi)、Temp IateStepData數(shù)據(jù)類(lèi)、Temp late StepMeta元數(shù)據(jù)類(lèi)及Temp IateStepDia log對(duì)話框類(lèi)。不同的類(lèi)提供不同的接口,可調(diào)用各個(gè)接口融入數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的數(shù)據(jù)使功能節(jié)點(diǎn)具有編輯、執(zhí)行、保存python數(shù)據(jù)計(jì)算處理腳本等功能。
[0123]獲取單元602還用于獲取數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的科學(xué)計(jì)算擴(kuò)展庫(kù)。
[0124]具體的,數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中可包括NumPy、ScriPy和matplotlib等科學(xué)計(jì)算擴(kuò)展庫(kù)的數(shù)據(jù),NumPy可用來(lái)存儲(chǔ)和處理大型矩陣,ScriPy可用于抓取web站點(diǎn)并從頁(yè)面中提取結(jié)構(gòu)化的數(shù)據(jù),matplotlib可用于提供圖表生成等。python的科學(xué)計(jì)算功能相比起其它的科學(xué)計(jì)算軟件或語(yǔ)言來(lái)說(shuō),具有更加豐富的擴(kuò)展庫(kù),且擴(kuò)展庫(kù)均是開(kāi)源,python可提供各種調(diào)用接口用于分析處理數(shù)據(jù),語(yǔ)言更為簡(jiǎn)單易讀,容易維護(hù),可輕松完成各種數(shù)據(jù)處理的高級(jí)任務(wù)。
[0125]關(guān)聯(lián)單元610,用于在功能節(jié)點(diǎn)中建立科學(xué)計(jì)算擴(kuò)展庫(kù)與數(shù)據(jù)分析處理新工程的關(guān)耳關(guān)關(guān)系。
[ΟΙ26]具體的,在功能節(jié)點(diǎn)中建立NumPy、ScriPy和matplotlib等科學(xué)計(jì)算擴(kuò)展庫(kù)與數(shù)據(jù)分析處理新工程的關(guān)聯(lián)關(guān)系,在功能節(jié)點(diǎn)中通過(guò)執(zhí)行python數(shù)據(jù)計(jì)算處理腳本,調(diào)用python提供的對(duì)應(yīng)的接口,即可使用科學(xué)計(jì)算擴(kuò)展庫(kù)中的科學(xué)計(jì)算功能,分析處理數(shù)據(jù)。
[0127]修改單元612,用于修改數(shù)據(jù)分析處理新工程的基礎(chǔ)配置,并將功能節(jié)點(diǎn)打包。
[0128]具體的,可在Plugin.xml等配置文件中修改數(shù)據(jù)分析處理新工程的基礎(chǔ)配置,例如添加功能節(jié)點(diǎn)對(duì)應(yīng)的名稱及描述等,但不限于此。修改完基礎(chǔ)配置后,可將功能節(jié)點(diǎn)打包,并存儲(chǔ)在kettle的插件文件夾中。
[0129]存儲(chǔ)單元614,用于存儲(chǔ)數(shù)據(jù)分析處理新工程。
[0130]具體的,開(kāi)發(fā)完成數(shù)據(jù)分析處理新工程的功能節(jié)點(diǎn)后,可在本地或分布式存儲(chǔ)系統(tǒng)的服務(wù)器集群中存儲(chǔ)數(shù)據(jù)分析處理新工程。在本地或分布式存儲(chǔ)系統(tǒng)的服務(wù)器集群中可使用數(shù)據(jù)分析處理新工程并發(fā)處理多項(xiàng)數(shù)據(jù),提高數(shù)據(jù)處理效率。
[0131]上述數(shù)據(jù)分析處理的系統(tǒng),通過(guò)在數(shù)據(jù)分析處理新工程中創(chuàng)建并開(kāi)發(fā)功能節(jié)點(diǎn),使功能節(jié)點(diǎn)提供編輯、執(zhí)行、保存數(shù)據(jù)計(jì)算處理腳本等功能,并能在功能節(jié)點(diǎn)中調(diào)用科學(xué)計(jì)算擴(kuò)展庫(kù)分析處理復(fù)雜的數(shù)據(jù),在ETL數(shù)據(jù)分析工具中融入科學(xué)計(jì)算功能,使ETL數(shù)據(jù)分析工具可以用更簡(jiǎn)單的方式,進(jìn)行更加復(fù)雜的數(shù)據(jù)處理,并提高數(shù)據(jù)處理效率。
[0132]如圖7所示,在另一個(gè)實(shí)施例中,上述數(shù)據(jù)分析處理的系統(tǒng),除了包括進(jìn)入模塊410、訪問(wèn)模塊420、讀取模塊430、生成腳本模塊440、調(diào)用模塊450及建立模塊460,還包括接收模塊470及生成圖表模塊480。
[0133]接收模塊470,用于接收生成數(shù)據(jù)圖表的操作請(qǐng)求。
[0134]具體的,在數(shù)據(jù)分析處理新工程的功能節(jié)點(diǎn)中,可設(shè)置有生成數(shù)據(jù)圖表的按鈕,當(dāng)用戶點(diǎn)擊該按鈕,可接收到生成數(shù)據(jù)圖表的操作請(qǐng)求。
[0135]生成圖表模塊480,用于根據(jù)操作請(qǐng)求調(diào)用科學(xué)計(jì)算擴(kuò)展庫(kù)中的圖形處理擴(kuò)展庫(kù)的相關(guān)函數(shù)對(duì)處理后的數(shù)據(jù)進(jìn)行分析,并生成對(duì)應(yīng)的數(shù)據(jù)圖表文件。
[0136]具體的,可在python數(shù)據(jù)計(jì)算處理腳本中調(diào)用相應(yīng)的接口,使用科學(xué)計(jì)算擴(kuò)展庫(kù)中的matplotl ib等圖形處理擴(kuò)展庫(kù)中的相關(guān)函數(shù),對(duì)處理后的數(shù)據(jù)進(jìn)行分析,并生成對(duì)應(yīng)的圖形、表格等,以可視化的形式進(jìn)行展示,使用戶能更直接地觀看數(shù)據(jù)的分析結(jié)果。生成的數(shù)據(jù)圖表文件可保存在本地或分布式存儲(chǔ)系統(tǒng)的服務(wù)器集群中,存儲(chǔ)在分布式存儲(chǔ)系統(tǒng)的服務(wù)器集群中可減輕服務(wù)器的壓力。
[0137]上述數(shù)據(jù)分析處理的系統(tǒng),可調(diào)用科學(xué)計(jì)算擴(kuò)展庫(kù)中的圖形處理擴(kuò)展庫(kù)中的相關(guān)函數(shù)對(duì)處理后的數(shù)據(jù)進(jìn)行分析,使處理后的數(shù)據(jù)以圖形、表格等形式展示,更直觀地反映數(shù)據(jù)分析處理結(jié)果。
[0138]在另一個(gè)實(shí)施例中,上述數(shù)據(jù)分析處理的系統(tǒng),還包括存儲(chǔ)模塊。
[0139]存儲(chǔ)模塊,用于獲取距離最近的Hadoop集群,并將處理后的數(shù)據(jù)存儲(chǔ)在距離最近的Hadoop集群中。
[0140]具體的,Hadoop是一個(gè)分布式文件存儲(chǔ)系統(tǒng),具有高容錯(cuò)性的特點(diǎn),提供高吞吐量來(lái)訪問(wèn)應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集的應(yīng)用程序??色@取距離當(dāng)前分析處理數(shù)據(jù)的服務(wù)器最近的Hadoop集群服務(wù)器,并將處理后的數(shù)據(jù)及生成的圖表文件等存儲(chǔ)在距離最近的Hadoop集群服務(wù)器中,可減少網(wǎng)絡(luò)傳輸消耗,節(jié)約網(wǎng)絡(luò)資源。
[0141]上述數(shù)據(jù)分析處理的系統(tǒng),可將數(shù)據(jù)存儲(chǔ)在距離最近的Hadoop集群中,減少了網(wǎng)絡(luò)傳輸消耗,節(jié)約網(wǎng)絡(luò)資源。
[0142]以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說(shuō)明書(shū)記載的范圍。
[0143]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專(zhuān)利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專(zhuān)利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種數(shù)據(jù)分析處理的方法,其特征在于,包括以下步驟: 進(jìn)入預(yù)先建立的數(shù)據(jù)分析處理新工程; 在所述數(shù)據(jù)分析處理新工程中訪問(wèn)功能節(jié)點(diǎn); 讀取目標(biāo)文件并導(dǎo)入數(shù)據(jù); 根據(jù)需求信息生成數(shù)據(jù)計(jì)算處理腳本; 在所述功能節(jié)點(diǎn)中調(diào)用所述數(shù)據(jù)計(jì)算處理腳本,對(duì)所述數(shù)據(jù)進(jìn)行分析處理。2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)分析處理的方法,其特征在于,在所述進(jìn)入預(yù)先建立的數(shù)據(jù)分析處理新工程的步驟之前,還包括: 建立數(shù)據(jù)分析處理新工程; 所述建立數(shù)據(jù)分析處理新工程的步驟,包括: 獲取數(shù)據(jù)分析源工程代碼; 創(chuàng)建數(shù)據(jù)分析處理新工程,并在所述數(shù)據(jù)分析處理新工程中導(dǎo)入所述數(shù)據(jù)分析源工程代碼; 在所述數(shù)據(jù)分析處理新工程中創(chuàng)建功能節(jié)點(diǎn); 調(diào)用數(shù)據(jù)計(jì)算工具數(shù)據(jù)包,并根據(jù)預(yù)設(shè)的節(jié)點(diǎn)開(kāi)發(fā)模板將所述數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的數(shù)據(jù)融入所述數(shù)據(jù)分析處理新工程; 存儲(chǔ)所述數(shù)據(jù)分析處理新工程。3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)分析處理的方法,其特征在于,在所述存儲(chǔ)所述數(shù)據(jù)分析處理新工程的步驟之前,還包括: 獲取所述數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的科學(xué)計(jì)算擴(kuò)展庫(kù); 在所述功能節(jié)點(diǎn)中建立所述科學(xué)計(jì)算擴(kuò)展庫(kù)與所述數(shù)據(jù)分析處理新工程的關(guān)聯(lián)關(guān)系; 修改所述數(shù)據(jù)分析處理新工程的基礎(chǔ)配置,并將所述功能節(jié)點(diǎn)打包。4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)分析處理的方法,其特征在于,在所述功能節(jié)點(diǎn)中調(diào)用所述數(shù)據(jù)計(jì)算處理腳本,對(duì)所述數(shù)據(jù)進(jìn)行分析處理的步驟之后,還包括: 接收生成數(shù)據(jù)圖表的操作請(qǐng)求; 根據(jù)所述操作請(qǐng)求調(diào)用所述科學(xué)計(jì)算擴(kuò)展庫(kù)中的圖形處理擴(kuò)展庫(kù)的相關(guān)函數(shù)對(duì)處理后的數(shù)據(jù)進(jìn)行分析,并生成對(duì)應(yīng)的數(shù)據(jù)圖表文件。5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)分析處理的方法,其特征在于,所述方法還包括: 獲取距離最近的Hadoop集群,并將處理后的數(shù)據(jù)存儲(chǔ)在所述距離最近的Hadoop集群中。6.一種數(shù)據(jù)分析處理的系統(tǒng),其特征在于,包括: 進(jìn)入模塊,用于進(jìn)入預(yù)先建立的數(shù)據(jù)分析處理新工程; 訪問(wèn)模塊,用于在所述數(shù)據(jù)分析處理新工程中訪問(wèn)功能節(jié)點(diǎn); 讀取模塊,用于讀取目標(biāo)文件并導(dǎo)入數(shù)據(jù); 生成腳本模塊,用于根據(jù)需求信息生成數(shù)據(jù)計(jì)算處理腳本; 調(diào)用模塊,用于在所述功能節(jié)點(diǎn)中調(diào)用所述數(shù)據(jù)計(jì)算處理腳本,對(duì)所述數(shù)據(jù)進(jìn)行分析處理。7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)分析處理的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 建立模塊,用于建立數(shù)據(jù)分析處理新工程; 所述建立模塊包括: 獲取單元,用于獲取數(shù)據(jù)分析源工程代碼; 導(dǎo)入單元,用于創(chuàng)建數(shù)據(jù)分析處理新工程,并在所述數(shù)據(jù)分析處理新工程中導(dǎo)入所述數(shù)據(jù)分析源工程代碼; 創(chuàng)建單元,用于在所述數(shù)據(jù)分析處理新工程中創(chuàng)建功能節(jié)點(diǎn); 調(diào)用單元,用于調(diào)用數(shù)據(jù)計(jì)算工具數(shù)據(jù)包,并根據(jù)預(yù)設(shè)的節(jié)點(diǎn)開(kāi)發(fā)模板將所述數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的數(shù)據(jù)融入所述數(shù)據(jù)分析處理新工程; 存儲(chǔ)單元,用于存儲(chǔ)所述數(shù)據(jù)分析處理新工程。8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)分析處理的系統(tǒng),其特征在于,所述獲取單元還用于獲取所述數(shù)據(jù)計(jì)算工具數(shù)據(jù)包中的科學(xué)計(jì)算擴(kuò)展庫(kù); 所述建立模塊還包括: 關(guān)聯(lián)單元,用于在所述功能節(jié)點(diǎn)中建立所述科學(xué)計(jì)算擴(kuò)展庫(kù)與所述數(shù)據(jù)分析處理新工程的關(guān)聯(lián)關(guān)系; 修改單元,用于修改所述數(shù)據(jù)分析處理新工程的基礎(chǔ)配置,并將所述功能節(jié)點(diǎn)打包。9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)分析處理的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 接收模塊,用于接收生成數(shù)據(jù)圖表的操作請(qǐng)求; 生成圖表模塊,用于根據(jù)所述操作請(qǐng)求調(diào)用所述科學(xué)計(jì)算擴(kuò)展庫(kù)中的圖形處理擴(kuò)展庫(kù)的相關(guān)函數(shù)對(duì)處理后的數(shù)據(jù)進(jìn)行分析,并生成對(duì)應(yīng)的數(shù)據(jù)圖表文件。10.根據(jù)權(quán)利要求6所述的數(shù)據(jù)分析處理的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 存儲(chǔ)模塊,用于獲取距離最近的Hadoop集群,并將處理后的數(shù)據(jù)存儲(chǔ)在所述距離最近的Hadoop集群中。
【文檔編號(hào)】G06F17/30GK105824974SQ201610243600
【公開(kāi)日】2016年8月3日
【申請(qǐng)日】2016年4月19日
【發(fā)明人】朱敏
【申請(qǐng)人】平安科技(深圳)有限公司