大資料即席查詢與分析

2021-12-30 01:47:03 字數 3304 閱讀 8546

大資料的「量級」:

傳統it,業務系統多以oltp1為主,尤其傳統資料庫orcle,mysql等資料量多數是幾十萬或幾百萬,資料千萬就要分庫,分表了,過億了就要用到另外一種資料處理技術了olap2聯機分析處理。

google的三篇** gfs3、bigtable、mapreduce可為大資料發展的基石

每一分每一秒,各個資料來源通過**、離線等各種方式匯入hadoop,這些資料就像一車車的金礦石,先被放到乙個矩形的倉庫中存了起來。發現金礦,採集礦石,運回倉庫,這些過程可能都不是最精彩的,大家最期盼的是如何將礦石變成金子,也就是煉金。大資料「煉金術」,發現資料的潛在價值,從資料分的不同使用場景來看,可以分為以下三類:批處理(batch),即席查詢和分析(ad-hoc),流計算(stream)。

批處理通常是離線計算,對計算時效性要求不高,主要用來啃又大又硬的骨頭,乙個任務可以撇給它幾十個t甚至上p的資料,它都可以吃的消,它的計算方式可以說是「很穩健」,無論是第一代計算引擎mapreduce,還是第二代計算引擎spark,都是採取的「很黃很暴力」的方式,乙個百億規模的資料分析,mapreduce的計算時間可能長達數小時,spark也要跑個幾分鐘到幾十分鐘不等,即便執行一些相對輕量級的資料分析請求,spark通常也是在分鐘級別完成。

流計算是在資料流入的同時即把相應的計算操作完成,有極高的時效性,非常適用於實時統計,根據預設規則預警,結合各種演算法做**等資料分析需求。在各類形同中已經應用非常廣泛。但流計算本質屬於預計算分析,必須預先知道想要統計分析的資料或維度,根業內其它預計算引擎的短板一樣,就是靈活度極大受限

即席查詢和分析的計算模式兼具了良好的時效性與靈活性,是對批處理,流計算兩大計算模式有力補充。

即席查詢的概念

即席查詢(ad hoc)是使用者根據自己的需求,靈活的選擇查詢條件,系統能夠根據使用者的選擇生成相應的統計報表。即席查詢與普通應用查詢最大的不同是普通的應用查詢是定製開發的,而即席查詢是由使用者自定義查詢條件的。

在資料倉儲領域有乙個概念叫ad hoc queries。通常的方式是,將資料倉儲中的維度表和事實表對映到語義層,使用者可以通過語義層選擇表,建立表間的關聯,最終生成sql語句。即席查詢與通常查詢從sql語句上來說,並沒有本質的差別。它們之間的差別在於,通常的查詢在系統設計和實施時是已知的,所有我們可以在系統實施時通過建立索引、分割槽等技術來優化這些查詢,使這些查詢的效率很高。而即席查詢是使用者在使用時臨時生產的,系統無法預先優化這些查詢,所以即席查詢也是評估資料倉儲的乙個重要指標。即席查詢的位置通常是在關係型的資料倉儲中,即在edw或者rolap中。

即席分析:

是在未知使用者查詢條件,系統無法預先優化的查詢,而臨時產生的分析

補充知識:

1:oltp:

on-line transaction processing聯機事務處理過程(oltp)

也稱為面向交易的處理過程,其基本特徵是前台接收的使用者資料可以立即傳送到計算中心進行處理,並在很短時間內給出結果,是對使用者操作快速響應的方式之一

這樣做的最大優點是可以即時的處理輸入的資料,及時的回答,也稱為實時系統。

衡量練級事務處理結果的乙個重要指標是系統效能,具體體現為實時請求---響應時間,即使用者在終端上輸入資料之後,帶計算機對這個請求給出答覆所需的時間。

oltp是由前台、應用、資料庫共同完成的,處理快慢以及處理程度取決於 資料庫引擎 伺服器 應用引擎

oltp資料庫只在使事務應用程式僅寫入所需的資料、以便盡快處理單個事務

當今的資料處理可以分為兩大類:練級事務處理(oltp)和聯機分析處理(olap)

2 olap

聯機分析處理(olap):是使分析人員、管理人員或執行人員能夠從多角度對資訊進行快速、一致、互動地訪問,從而獲取對資料的更深入了解的一類軟體技術。olap的目標是滿足決策支援或滿足多維環境下特定的查詢和報表需求,它的技術核心是「維」這個概念

這裡所說的「維」是人們觀察客觀世界的角度,是一種高層次的型別劃分。「維」一般包含著層次關係,這種關係有時會相當複雜。通過把乙個實體的多重要的屬性定義為多個維,使使用者能對不同的資料進行比較。因此olap也可以說是多維資料分析工具的集合。

olap的基本多維分析操作有鑽取(roll up和drill down)、切片和切塊、以及旋轉、交叉探查(drill across:指查詢多個事實表並將結果合併成乙個結果集的查詢操作)、鑽透(drill through: 是指對立方體操作時, 利用資料庫關係, 鑽透立方體的底層, 進入後端的關係表)

鑽取是改變維的層次,變換分析的粒度。它包括向上鑽取(roll up)和向下鑽取(drill down)。roll up是在某一維上將低層次的細節資料概括到高層次的彙總資料,或者減少維數;而drill down則相反,它從彙總資料深入到細節資料進行觀察或增加新維

切片和切塊實在一部分維上選定值後,關心度量資料在剩餘維生的分布。如果剩下維只有兩個,則是切片;如果有三個則是切塊

旋轉是變換為的方向,即在**中重新安排為的放置(例如行列互換)

olap有多重實現方法,根據儲存資料的方式不同可分為rolap,molap、holap

rolap表示基於關聯式資料庫的olap實現。以關聯式資料庫為核心,以關係型結構進行多維資料的表示和儲存。

molap表示基於多維資料組織的olap實現。以多維資料組織方式為核心。以多維資料組織方式為核心,也就是說molap使用多維陣列儲存資料。多維資料在儲存中將形成「立方塊(cude)」的結構,在molap中對「立方塊」的旋轉、切塊、切片是產生多維資料包表的主要技術

holap表示基於混合資料組織的olap實現。如低層是關係型的,高層是多維矩陣型的,這種方式具有更好的靈活性

根據綜合性資料的組織方式的不同,常見的olap主要有基於多維資料庫的molap及基於關聯式資料庫的rolap兩種。molap是以多維的方式組織和儲存資料,rolap則利用現有的關聯式資料庫技術模擬多維資料。在資料倉儲應用中,olap應用一般是資料倉儲應用的前端工具,同時olap工具還可以同資料探勘工具、統計分析工具配合使用,增強決策分析功能

3 gfs

gfs是乙個可擴充套件的分布式檔案系統,用於大型的,分布式的,對大量資料進行訪問的應用,它執行與廉價的普通硬體(這是它的特殊之處,驚世之處)上,並提供容錯功能。它可以給大量的使用者提供總體效能較高的服務

4 hive

hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為mapreduce任務進行執行。其優點是學習成本低,可以通過類sql語句快速實現簡單的mapreduce統計,不必開發專門的mapreduce應用,十分適合資料倉儲的統計分析

5 dmp

dmp(data management platform)資料管理平台,是網際網路公司最重要的後台系統之一,它把分散的多方資料進行整合納入統一的技術平台,並對這些資料進行標準化和細分,進而把這些細分結果推向現有的互動營銷環境裡 ;

大資料簡介與大資料分析

大資料 是乙個體量特別大,資料類別特別大的資料集,並且這樣的資料集無法用傳統資料庫工具對其內容進行抓取 管理和處理。大資料 首先是指資料體量 volumes 大,指代大型資料集,一般在10tb?規模左右,但在實際應用中,很多企業使用者把多個資料集放在一起,已經形成了pb級的資料量 其次是指資料類別 ...

大資料的資料儲存與分析

大資料的資料儲存與分析 摘自 hadoop權威指南第2版中文版 思想一 資料儲存與分析 我們已經有了大量的資料,這是個好訊息。不幸的是,我們當下正糾結於儲存和分析這些資料。我們遇到的問題很簡單 讀取乙個磁碟中所有的資料需要很長時間,寫甚至更慢。乙個很簡單的減少讀取時間的辦法是同時從多個磁碟上讀取資料...

大資料探勘分析與應用

import time name number 2017 xx blessing 2020年注定不尋常,今年我的目標是.右鍵 選擇在編終端中執行python檔案,執行結果如下 1 變數,語句,縮排,注釋 變數命名規則 語句 縮排 注釋 輸入與輸出操作 1 資料型別 1 標準資料型別 number 數...