大資料的概念
4v:大量化volume、價值密度低value、快速化velocity、多樣化variety。大量化每兩年增長一倍,到了2023年,全球就會有35zb資料量,byte->kb->mb->gb->tb->pb->eb->zb。多樣化,結構化資料,儲存在關聯式資料庫中,具有規範的行和列的結構資料,只佔人類資料量10%不到。90%是非結構化資料,儲存在非關聯式資料庫中。快速化,資料有價值必須快速處理,一秒定律,資料從生成到決策響應僅需要一秒,時間延長不會有商業價值,例如推薦系統。價值密度低,大量資料中有價值的比較少,但是單點價值比較高
大資料影響
資料庫專家jim gray,人類從誕生以來,經歷了四種研究正規化。2023年後,進入大資料時代以後,是以資料為中心的研究正規化。第一種實驗,一開始科研就是做實驗觀察;第二種理論,發明了牛頓定律、幾何理論由理論去研究科學問題;第三階段,一九四幾年計算機開始發明以後,進入以計算為中心的時代,靠計算可以幫助我們解決相關的科學問題。以計算為中心,事先已經知道問題是什麼,以資料為中心事先問題不知,只有一堆資料,從大量資料中去發現問題,再靠資料去解決問題,全部靠資料去驅動。我們思維方式自從大資料時代到來後,發生了值的變遷。全樣而非抽樣,以前採用統計學抽樣方式(儲存裝置貴、儲存資料少、cpu和技術能力不強、無法短時間迅速計算),大資料時代有足夠能力儲存足夠算例去計算。效率而非精確,不苛求精確度,全樣資料不存在誤差放大問題,追求速度。相關而非因果,追求相關性,比如相關性是推薦系統的核心,有相關性足夠帶來商業價值。
大資料的關鍵技術
資料流程包括資料採集、資料儲存與管理、資料處理與分析、資料隱私與安全。大資料的關鍵技術兩大核心,分布式儲存和分布式處理,解決資料儲存和資料高校計算問題。分布式儲存:谷歌gfs和開源實現hdfs->谷歌big table和開源版本hase->nosql(鍵值、列族、圖形、文件資料庫)->newsql。分布式處理:mapreduce->spark->flink。
大資料計算模式
大資料技術之hadoop
hadoop生態系統圖
hdfs儲存非結構化資料,面向批處理,yarn資源排程和管理框架,計算所需要底層內部cpu資源。mapreduce資料的計算。資料倉儲hive本身不儲存資料,資料儲存在底層hdfs,本身是程式設計介面,把你寫的sql語句自動轉換對hdfs查詢分析,得到結果。pig資料流處理,資料清洗轉換。mahout資料探勘的演算法庫,實現常用資料探勘演算法(分類、聚類、回歸等),呼叫介面,傳入引數,減少工作量,針對海量資料進行資料探勘分析。ambari自動化的安裝部署配置管理hadoop集群的。zookeeper分布式協作服務,選管家等,專門做分布式協調一致性工作。hbase實時性計算,分布式資料庫。flume日誌採集,sqoop資料庫etl(抽取、轉換、載入),完成hadoop系統元件之間的互通,hadoop系統元件當中資料和關聯式資料庫當中資料之間相互匯入匯出(hdfs資料可以匯入mysql當中去)。mapreduce,map函式和reduce函式,程式設計容易,遮蔽底層分布式並行程式設計細節。採用分而治之思想,並非所有任務都可以分而治之。yarn實現乙個集群多個框架,例如一千臺機器,同時部署了三個框架(mapreduce、storm、impala),會產生打架,有三個管家去底層強cpu資源。如果三個產品只接受乙個管家,就不會打架。出現了yarn資源排程和管理框架。
大資料技術之spark
spark架構圖
spark core:包含spark的基本功能;尤其是定義rdd的api、操作以及這兩者上的動作。其他spark的庫都是構建在rdd和spark core之上的。
spark sql:提供通過apache hive的sql變體hive查詢語言(hiveql)與spark進行互動的api。每個資料庫表被當做乙個rdd,spark sql查詢被轉換為spark操作。
spark streaming:對實時資料流進行處理和控制。spark streaming允許程式能夠像普通rdd一樣處理實時資料
mlib:乙個常用機器學習的演算法庫,演算法被實現為對rdd的spark操作。這個庫包含可擴充套件的學習演算法,比如分類、回歸等需要對大量資料集進行迭代的操作
graphx:控制圖、並行圖操作和計算的一組演算法和工具的集合。graphx擴充套件了rdd api,包含控制圖、建立子圖、訪問路徑上所有頂點的操作
spark作為乙個完整生態系統可以完成批處理、查詢分析、流計算、機器學習演算法庫和圖計算。hadoop表達能力有限,只有map和reduce,磁碟開銷比較大,延遲高(讀寫磁碟和銜接開銷)完成所有map任務才能開始下乙個階段任務。而spark提供了map、reduce、groupby、jion、filter,操作型別更加多,表達能力更加強。spark也提供了記憶體計算,在記憶體完成資料處理,高效地提高了迭代運算。spark是基於dag有向無環圖排程機制,可以進行相關的優化,是資料流水線話的處理。與hdfs一起使用,spark資料計算。
大資料技術之flink和beam
flink是和spark同一型別的計算框架,也是乙個完整的生態系統,是競爭關係框架。
flink架構圖
spark和flink對比
spark是基於批處理,flink是基於流處理模型,實時性好。spark社群好,企業支援早,流行度高。beam是谷歌統一程式設計介面,會自動翻譯flink、spark,但是市場不溫不火。很多企業都是hadoop加spark去構建。
大資料技術生態體系元件概述
大資料架構如下圖所示 圖中涉及的技術名詞解釋如下 1 sqoop sqoop是一款開源的工具,主要用於在hadoop hive 與傳統的資料庫 mysql 間進行資料的傳遞,可以將乙個關係型資料庫 例如 mysql oracle 等 中的資料導進到hadoop的hdfs中,也可以將hdfs的資料導進...
大資料概述
1.試述大資料對思維方式的重要影響。全樣而非抽象 過去,由於資料儲存和處理能力的限制,在科學分析中,通常採用抽樣的方法,即從全集資料中抽取一部分樣本資料,再通過樣本資料的分析來推斷出全集資料的特徵。如今,有了大資料的支援,科學分析完全可以直接針對全集資料而不是抽樣資料,並且可以在短時間內迅速得到分析...
大資料概述
大資料 大資料 big data it行業術語,是指無法在一定時間範圍內用常規軟體工具進行捕捉 管理和處理的資料集合,是需要新處理模式才能具有更強的決策力 洞察發現力和流程優化能力的海量 高增長率和多樣化的資訊資產。所謂 面向集合 collection oriented 意思是資料被分組儲存在資料集...