確定性的漸進式大數(shù)據(jù)分析的制作方法
【專利說明】確定性的漸進式大數(shù)據(jù)分析
[0001] 背景
[0002] 隨著在諸如云之類的群集中存儲和處理的數(shù)據(jù)量的增加,對這些數(shù)據(jù)的分析變得 非常昂貴。例如,與云相關聯(lián)的現(xiàn)用現(xiàn)付范例可導致計算成本隨著查詢執(zhí)行時間線性地增 加,從而使得數(shù)據(jù)科學家可能容易地花費大量金錢來分析數(shù)據(jù)。在查詢被迭代地發(fā)現(xiàn)并細 化的情況下,花費可能由于分析的探索特質(zhì)而劇增,包括提交許多脫靶和錯誤查詢(例如, 有缺陷的參數(shù))。在常規(guī)系統(tǒng)中,查詢和其它計算可能需要執(zhí)行以便在診斷出此類問題之前 完成,這經(jīng)常在耗盡數(shù)小時的昂貴計算時間后。
[0003] 概述
[0004] 根據(jù)一個一般方面,一種系統(tǒng)可包括分布式漸進式分析引擎,該漸進式分析引擎 包括被配置成獲取多個數(shù)據(jù)項的數(shù)據(jù)項獲取組件,該多個數(shù)據(jù)項用指示與相應數(shù)據(jù)項的時 間處理進度相關聯(lián)的進度點的進度標記來注釋。漸進式分布式處理管理器可被配置成對多 個設備上的多個數(shù)據(jù)項發(fā)起大規(guī)模并行的確定性漸進式處理,進度標記指示多個數(shù)據(jù)項中 的哪些數(shù)據(jù)項將被結(jié)合到漸進式處理的結(jié)果中,進度標記還指示相應數(shù)據(jù)項被結(jié)合到結(jié)果 中的排序。
[0005] 根據(jù)另一方面,可獲取用進度標記注釋的多個數(shù)據(jù)項。進度標記可指示與相應數(shù) 據(jù)項的時間處理進度相關聯(lián)的進度點。可以對多個設備上的多個數(shù)據(jù)項發(fā)起大規(guī)模并行的 確定性漸進式處理,進度標記指示多個數(shù)據(jù)項中的哪些數(shù)據(jù)項將被結(jié)合到漸進式處理的結(jié) 果中,進度標記還指示相應數(shù)據(jù)項被結(jié)合到結(jié)果中的排序。
[0006] 根據(jù)另一方面,一種計算機可讀存儲介質(zhì)可存儲指令,這些指令被配置成使一個 或多個處理器獲取多個數(shù)據(jù)項,該多個數(shù)據(jù)項用指示與相應數(shù)據(jù)項的時間處理進度相關聯(lián) 的進度點的進度標記來注釋。此外,這些指令可被配置成使一個或多個處理器對多個設備 上的多個數(shù)據(jù)項發(fā)起大規(guī)模并行的確定性漸進式處理,進度標記指示多個數(shù)據(jù)項中的哪些 數(shù)據(jù)項將被結(jié)合到漸進式處理的結(jié)果中,進度標記還指示相應數(shù)據(jù)項被結(jié)合到結(jié)果中的排 序。
[0007] 提供本概述以便以簡化形式介紹將在以下詳細描述中進一步描述的一些概念。本 概述并不旨在標識所要求保護主題的關鍵特征或必要特征,也不旨在用于限制所要求保護 主題的范圍。一個或多個實現(xiàn)的細節(jié)在以下的附圖和說明書中闡述。其它特征將從描述和 附圖、以及權利要求書中顯見。
[0008] 附圖簡述
[0009] 圖1示出了按用戶排序的對示例系統(tǒng)的示例輸入以及示例查詢的結(jié)果。
[0010]圖2示出了圖1的示例的漸進式結(jié)果。
[0011]圖3示出了劃分數(shù)據(jù)的示例映射-化簡。
[0012] 圖4是示出用于分布式漸進式分析的示例系統(tǒng)的框圖。
[0013] 圖5示出了使用擴充的輸入數(shù)據(jù)的示例漸進式結(jié)果。
[0014] 圖6描繪了圖5的示例的示例進度區(qū)間和查詢計算。
[0015] 圖7示出了如與另一映射-化簡系統(tǒng)相比的用于具有兩個階段和不同劃分鍵的查 詢的示例漸進式數(shù)據(jù)并行計算框架。
[0016] 圖8示出了示例帶注釋輸入數(shù)據(jù)和示例進度批次。
[0017] 圖9示出了化簡器內(nèi)的進度知曉合并模塊的示例高級設計。
[0018] 圖10A-10B示出了用于處理包括三個作業(yè)的查詢的映射和化簡任務的示例布置。 [0019]圖11A-11C是示出圖4的系統(tǒng)的示例操作的流程圖。
[0020] 詳細描述
[0021] I.介紹
[0022]對存儲在諸如云之類的群集中的不斷增加的數(shù)據(jù)的分析正變得越來越昂貴。數(shù)據(jù) 分析通常可以手動地使用用于探索查詢的的因域而異的采樣策略來提取不斷增大的數(shù)據(jù) 大小的樣本(例如,漸進式樣本)。這提供了用戶控制、可重復語義和結(jié)果出處。然而,此類解 決方案可導致排除跨樣本的工作重用的乏味工作流。然而,常規(guī)的近似查詢處理系統(tǒng)可以 報告早期結(jié)果,但無法為復雜的自組織查詢提供上述益處。
[0023] 本文討論的示例技術可提供基于進度模型(在此可被稱為"棱鏡")的漸進式分析 系統(tǒng),該系統(tǒng)可以(1)允許用戶向系統(tǒng)傳遞漸進式樣本;(2)允許對樣本進行高效且確定性 的查詢處理;以及(3)例如向數(shù)據(jù)科學家提供可重復語義和出處。
[0024] 例如,用于時間關系查詢的模型可使用未經(jīng)修改的時間流引擎通過重新解釋時間 事件字段以表示進度來實現(xiàn)?;谶@一進度模型,可確定示例漸進式數(shù)據(jù)并行計算框架(例 如,用于WINDOWS AZURE),其中進度被理解為框架中的一等公民。例如,漸進式數(shù)據(jù)并行計 算框架可以與"進度知曉化簡器"一起工作,如在此進一步討論的。例如,它可以與流引擎一 起工作以支持針對大數(shù)據(jù)的漸進式結(jié)構(gòu)化查詢語言(SQL)。
[0025] 根據(jù)分析的探索特質(zhì),查詢可被迭代地發(fā)現(xiàn)并細化,包括提交許多脫靶和錯誤查 詢(例如,有缺陷的參數(shù))。在常規(guī)系統(tǒng)中,查詢和其它計算可能需要執(zhí)行以便在診斷出此類 問題之前完成,這經(jīng)常在耗盡數(shù)小時的昂貴計算時間后。
[0026] 數(shù)據(jù)科學家因此可選擇對所提取的數(shù)據(jù)樣本執(zhí)行其自組織查詢。該方法向其提供 提供了控制以便以因域而異的方式從各種采樣策略中仔細地進行選擇(參見例如D.Cohn等 人的 "Improving Generalization with Active Learning(通過主動學習來改善泛化)", Machine Learning(機器學習),第15卷,第2版,1994年5月,第201-221 頁;M.D.McKay等人的 "Comparison of Three Methods for Selecting Values of Input Variables in the Analysis of Output from a Computer Code(用于在分析來自計算機代碼的輸出時選擇 輸入變量的值的三種方法的比較rjechnometrics(技術計量學),第21卷,第2篇,1979,第 55-61 頁;O.Maron等人的 "Hoeffding Races decelerating Model Selection Search for Classification and Function Approximation(Hoeffding比賽:加速模型選擇搜索以用 于分類和函數(shù)逼近)",In Advances in Neural Information Processing Systems(先進 的神經(jīng)信息處理系統(tǒng)),第6卷,1994,第59-66頁)D
[0027] 對于給定樣本,該方法可提供精確的(例如,關系型)查詢語義、使用查詢處理器和 優(yōu)化器的可重復執(zhí)行、什么數(shù)據(jù)導致了觀察到的結(jié)果方面的結(jié)果出處以及查詢可組合性。 此外,由于為所有查詢選擇固定樣本大小的先驗可能是不切實際的,因此數(shù)據(jù)科學家可以 創(chuàng)建不斷增大的多個漸進式樣本并對其進行操作(看見例如上述M.D.McKay等人)。
[0028]為了幫助數(shù)據(jù)科學家,數(shù)據(jù)庫團體已經(jīng)提出執(zhí)行漸進式分析的近似查詢處理 (AQP)系統(tǒng),諸如CONTROL(參見例如J.M.Hellerstein等人的 "Informix Under Control: Online Query Processing(控制Informix:在線查詢處理)",Data Mining and Knowledge Discovery Journal(數(shù)據(jù)挖掘和知識發(fā)現(xiàn)雜志),第4卷,第4版(2000),第281-314頁)和DBO (參見例如C. Jermaine等人的 "Scalable Approximate Query Processing with the DB0 Engine(對DBO引擎的可縮放近似查詢處理)",In Proceedings of the 2007 ACM SIGMOD International Conference on Management of Data(2007年ACM SIGMOD數(shù)據(jù)管理國際會 議論文集)(SIGMOD ' 07),2007,第725-736頁)。
[0029] 在該上下文中,"漸進式分析"可以指基于部分數(shù)據(jù)生成針對分析查詢的早期結(jié)果 并隨著接收到更多數(shù)據(jù)對這些結(jié)果進行漸進式細化。例如,漸進式分析可允許用戶使用少 得多的資源來獲取早期結(jié)果,并且一旦觀察到可接受的準確性或查詢不正確性時可能較早 地結(jié)束(以及可能細化)計算。
[0030] 然而,常規(guī)AQP系統(tǒng)的一般焦點在于自動提供結(jié)果的置信區(qū)間并選擇處理次序以 減少偏差。例如,AQP系統(tǒng)的前提是用戶未干預指定早期結(jié)果的語義;相反,系統(tǒng)承擔定義并 提供準確的早期結(jié)果的責任。為了有用,系統(tǒng)可以自動為查詢和數(shù)據(jù)的特定組合選擇有效 的采樣策略。這對于窄工作負載類可以是有效的,但無法泛化至復雜的自組織查詢。典型示 例是用于聯(lián)結(jié)樹的采樣的不可行性(參見例如S. Chaudhuri等人的"On Random Samp 1 ing Over Joins(關于針對聯(lián)結(jié)的隨機米樣)",In Proceedings of the 1999 ACM SIGMOD International Conference on Management of Data( 1999年ACM SIGMOD數(shù)據(jù)管理國際會 議論文集)(SIGMOD '99),1999,第263-274頁)。在這些情況下,在"快而松"進度的情況下缺 少用戶干預具有缺點;因此,數(shù)據(jù)科學家可以傾向于偏好上述更費力但受控的方法。
[0031] 作為示例,分析者可能希望使用示例廣告平臺來計算每一廣告(ad)的點進率 (CTR)。例如,分析者可使用兩個子查詢(Qc和Qi)來分別計算(每一廣告的)點擊和投放次 數(shù)。每一查詢可以是不尋常的;例如,Qc可以在逐個用戶的基礎上處理點擊以便只考慮來自 網(wǎng)頁白名單的合法(非自動化)點擊。此外,Qi可處理不同的記錄數(shù)據(jù)集。最終查詢Qctr可加 入(對于每一廣告)Qc和Qi的結(jié)果并且可將其比率計算為CTR。例如,圖1示出了(作為數(shù)據(jù) 100)按用戶排序的示例玩具輸入102以及對于Qc、Qi和Qctr的最終結(jié)果。
[0032] 如圖1所示,示例玩具輸入102包括按用戶排序的點擊數(shù)據(jù)。如圖1所示,示例投放 數(shù)據(jù)104可示出按用戶排序的廣告投放數(shù)據(jù)。查詢Qc的示例最終結(jié)果(每一廣告的點擊次 數(shù))被描繪為最終結(jié)果106,且查詢Qi的示例最終結(jié)果(每一廣告的投放次數(shù))被描繪為最終 結(jié)果108。如圖1所示,最終查詢Qctr的示例結(jié)果被描繪為最終結(jié)果110。
[0033] 例如,圖2示出了相同的查詢Qc和Qi的漸進式結(jié)果200。在用戶不干預定義漸進式 樣本的情況下,漸進式計數(shù)的正合序列可以是跨游程非確定性的,盡管最終計數(shù)是精確的。 此外,取決于Qc和Qi的結(jié)果的相對速度和順序,Qctr可組成任意漸進式結(jié)果,從而導致漸進 式CTR結(jié)果的顯著變化。如圖2所示,示例漸進式查詢Qc(每一廣告的點擊次數(shù))結(jié)果被描繪 為漸進式結(jié)果202,且示例漸進式查詢Qi(每一廣告的投放次數(shù))結(jié)果被描繪為漸進式結(jié)果 204。如圖2進一步示出的,第一可能漸進式Qctr結(jié)果被描繪為漸進式結(jié)果206,而第二可能 漸進式Qctr結(jié)果被描繪為漸進式結(jié)果208。
[0034]例如,2.0的CTR源自組合來自Qc和Qi的第一元組。一些甚至沒有意義的結(jié)果(例 如,CTR>1.0)是可能的。盡管這兩個結(jié)果最終取得了相同的最終CTR,但不存在用于確保為 了計算漸進式CTR而被相關的輸入是確定性的且相當?shù)模ɡ?,使用用戶的相同的樣本來?算)的機制。
[0035] 以上示例示出了若干挑戰(zhàn):
[0036] 1)用戶控制:數(shù)據(jù)科學家通常具有他們可用來基于其特定需求和上下文來從一定 范圍的采樣策略中進行選擇的領域?qū)iL。在圖1的示例中,兩個數(shù)據(jù)集可以按用于有意義的 進度的用戶次序被相同地漸進地采樣,從而避免了聯(lián)結(jié)采樣問題(參見例如以上 S.Chaudhuri等人)。用戶還可需要更多靈活性;例如,在具有星型架構(gòu)數(shù)據(jù)集的情況下,他 們可能希望在對事實表進行采樣之前完整地處理小尺寸表以改進漸進式結(jié)果。
[0037] 2)語義:關系型代數(shù)為SQL查詢提供精確語義。給定一組輸入表,正確輸出由該輸 入和查詢來單獨定義,并且獨立于動態(tài)屬性,諸如處理元組的次序。然而,對于復雜查詢,常 規(guī)AQP系統(tǒng)可使用操作語義,其中早期結(jié)果可以在最佳實踐的基礎上確定。由此,特定的早 期結(jié)果對于用戶意味著什么可能是不清楚的。
[0038] 3)可重復性和優(yōu)化:AQP中