文章目錄
- ?大數(shù)據(jù)分析流程??
- ?數(shù)據(jù)采集方法
- ?大數(shù)據(jù)采集方法??
- ?離線數(shù)據(jù)采集ETL??
- ?實(shí)時(shí)數(shù)據(jù)采集與處理??
- ?數(shù)據(jù)預(yù)處理技術(shù)??
- ?數(shù)據(jù)集成??
- ?數(shù)據(jù)清洗??
- ?數(shù)據(jù)變換??
- ?數(shù)據(jù)規(guī)約??
- ?數(shù)據(jù)存儲(chǔ)與管理??
- ?分布式文件系統(tǒng)-HDFS??
- ?分布式列存數(shù)據(jù)庫(kù) – HBase??
- ?內(nèi)存數(shù)據(jù)庫(kù) – Redis??
- ?消息分發(fā)和存儲(chǔ) – Kafka??
- ?非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ) – OSS??
- ?數(shù)據(jù)分析處理技術(shù)??
- ?離線批處理??
- ?MapReduce??
- ?通用計(jì)算框架 – Spark??
- ?實(shí)時(shí)流處理??
- ?大數(shù)據(jù)分析方法??
- ?數(shù)據(jù)挖掘??
- ?機(jī)器學(xué)習(xí)??
- ?數(shù)據(jù)可視化??
- ?數(shù)據(jù)可視化技術(shù)??
- ?數(shù)據(jù)可視化常見(jiàn)方法??
- ?常見(jiàn)可視化圖表??
- ?圖表類(lèi)型的使用場(chǎng)景??
大數(shù)據(jù)分析流程
數(shù)據(jù)采集:
- 實(shí)時(shí)數(shù)據(jù)采集:Flume、Fluented、Splunk、DataHub…
- 離線數(shù)據(jù)采集ETL: Sqoop、DataX…
數(shù)據(jù)存儲(chǔ)與管理:
- 數(shù)據(jù)存儲(chǔ):關(guān)系數(shù)據(jù)庫(kù)、mpp數(shù)據(jù)庫(kù)、NoSQL數(shù)據(jù)庫(kù)、分布式文件系統(tǒng)
- 數(shù)據(jù)倉(cāng)庫(kù)建模
- 元數(shù)據(jù)管理
- 數(shù)據(jù)質(zhì)量控制
- 數(shù)據(jù)安全管理
數(shù)據(jù)計(jì)算:
- 多維統(tǒng)計(jì)分析
- 大規(guī)模并行計(jì)算框架
- 數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)模型與算法
- 分布式式實(shí)時(shí)計(jì)算
- 交互式分析
數(shù)據(jù)應(yīng)用:
- 數(shù)據(jù)報(bào)表
- 可視化展現(xiàn)
- 數(shù)據(jù)服務(wù)
- 數(shù)據(jù)分享
數(shù)據(jù)采集方法
大數(shù)據(jù)采集方法
離線數(shù)據(jù)采集ETL
ETL是Extract、 Transform、 Loading三個(gè)字母的縮寫(xiě),即抽取、轉(zhuǎn)換、裝載。
目前市場(chǎng)上主流的ETL工具有:
- Informatica PowerCenter
- IBM DataStage
- 開(kāi)源 Kettle
- 阿里云DataX
實(shí)時(shí)數(shù)據(jù)采集與處理
采集工具工具:
- Flume
- Kafka
- DataHub
數(shù)據(jù)預(yù)處理技術(shù)
數(shù)據(jù)集成
數(shù)據(jù)集成:針對(duì)來(lái)自不同數(shù)據(jù)源的數(shù)據(jù),進(jìn)行合并并整理,形成統(tǒng)一的數(shù)據(jù)視圖
需要考慮的問(wèn)題:
- 識(shí)別和匹配相關(guān)實(shí)體及數(shù)據(jù):從核心信息開(kāi)始,逐步匹配擴(kuò)展到其他相關(guān)信息
- 統(tǒng)一的元數(shù)據(jù)定義:表名、字段名、類(lèi)型、單位(量綱)等
- 統(tǒng)一的數(shù)據(jù)取值:通過(guò)映射規(guī)則(Mapping)進(jìn)行轉(zhuǎn)換,保持?jǐn)?shù)據(jù)一致性
- 冗余數(shù)據(jù)處理:對(duì)于重復(fù)數(shù)據(jù)進(jìn)行刪除;對(duì)于相關(guān)性大的數(shù)據(jù)進(jìn)行適當(dāng)處理
數(shù)據(jù)清洗
數(shù)據(jù)清洗:針對(duì)原始數(shù)據(jù),對(duì)出現(xiàn)的噪聲進(jìn)行修復(fù)、平滑或者剔除。包括異常值、缺失值、重復(fù)記錄、錯(cuò)誤記錄等;同時(shí),過(guò)濾掉不用的數(shù)據(jù),包括某些行或某些列。
噪聲數(shù)據(jù)處理:
- 異常值
- 刪除、當(dāng)做缺失值、忽略
- 分箱:箱均勻、箱中位數(shù)或箱邊界、平滑數(shù)據(jù)
- 缺失值
- 統(tǒng)計(jì)值填充:均值、眾數(shù)、中位數(shù)
- 固定值填充:填充指定值
- 最接近記錄值填充:與該樣本最接近的相同字段值
- 模型擬合填充:填充回歸或其他模型預(yù)測(cè)值
- 插值填充:建立插值函數(shù),如拉格朗日插值法、牛頓插值法等
數(shù)據(jù)變換
數(shù)據(jù)變換:對(duì)數(shù)據(jù)進(jìn)行變換處理,使數(shù)據(jù)更適合當(dāng)前任務(wù)或者算法的需要。
常見(jiàn)的變換方式:
- 使用簡(jiǎn)單函數(shù)進(jìn)行變換
- 方根和乘方變換
- 對(duì)數(shù)和指數(shù)變換
- 插值和比例變換
- 數(shù)據(jù)規(guī)范化
- 歸一化
- 標(biāo)準(zhǔn)化
- 中心化
- 連續(xù)值離散化
- 分裂法
- 合并法
數(shù)據(jù)規(guī)約
數(shù)據(jù)規(guī)約:在盡可能保持?jǐn)?shù)據(jù)原貌的前提下,最大限度地精簡(jiǎn)數(shù)據(jù)量。主要包括屬性選擇和數(shù)據(jù)抽樣兩種方法。
數(shù)據(jù)抽樣:
- 簡(jiǎn)單隨機(jī)抽樣:每個(gè)樣本被抽到的概率相等,隨機(jī)從總體中獲得指定個(gè)數(shù)的樣本數(shù)據(jù)
- 系統(tǒng)抽樣:也叫等距抽樣,整體按某種順序排列后,隨機(jī)抽取第一個(gè)樣本,然后順序抽取其余樣本
- 分層抽樣:將總體分成多個(gè)不交叉的群,隨機(jī)抽取若干個(gè)群
- 連續(xù)抽樣:先抽樣,基于樣本分析,根據(jù)分析結(jié)果決定要不要繼續(xù)抽樣
- 多階段抽樣:抽樣分階段進(jìn)行,每個(gè)階段使用的抽樣方法可以不同
- Bootstrap重抽樣:樣本量不足時(shí),有回放的重復(fù)抽樣
數(shù)據(jù)存儲(chǔ)與管理
分布式文件系統(tǒng)-HDFS
Hadoop是一個(gè)分布式系統(tǒng)基礎(chǔ)架構(gòu),由Apache基金會(huì)開(kāi)發(fā)。用戶(hù)可以在不了解分布式底層細(xì)節(jié)的情況下,開(kāi)發(fā)分布式程序,充分利用集群的威力高速運(yùn)算和存儲(chǔ)。Hadoop實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(Hadoop Distributed File System),簡(jiǎn)稱(chēng)HDFS。
HDFS有著高容錯(cuò)性的特點(diǎn),并且設(shè)計(jì)用來(lái)部署在低廉的硬件上,HDFS 集群包含:
- 一個(gè)主節(jié)點(diǎn)(NameNode)
- 多個(gè)從屬節(jié)點(diǎn)(DataNodes )
- 多個(gè)客戶(hù)端訪問(wèn)
分布式列存數(shù)據(jù)庫(kù) – HBase
HBase是一個(gè)構(gòu)建在HDFS上的分布式列存儲(chǔ)系統(tǒng),用于海量結(jié)構(gòu)化、半結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)。HBase的目標(biāo)是處理非常龐大的表,超過(guò)10億行、數(shù)百萬(wàn)列。它有如下特點(diǎn):
- 高可靠、高性能
- 水平擴(kuò)展、可伸縮
- 面向列
內(nèi)存數(shù)據(jù)庫(kù) – Redis
Redis是一個(gè)開(kāi)源的可基于內(nèi)存亦可持久化的日志型、Key-Value內(nèi)存數(shù)據(jù)庫(kù)。也可作為消息的發(fā)布、訂閱。它有如下特點(diǎn):
- 高性能、高可用
- 豐富數(shù)據(jù)類(lèi)型
- 支持事務(wù)
- 豐富客戶(hù)端、多種語(yǔ)言API
消息分發(fā)和存儲(chǔ) – Kafka
Kafka是分布式發(fā)布-訂閱消息系統(tǒng),是可劃分的、多訂閱者、冗余備份、持久性的日志服務(wù)。主要用于處理流式數(shù)據(jù)。它的特點(diǎn)是:
- 高吞吐量
- 分布式、易擴(kuò)展
- 支持在線、離線
非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ) – OSS
阿里云對(duì)象存儲(chǔ)服務(wù)(Object Storage Service,OSS)是一種海量、安全、低成本、高可靠的云存儲(chǔ)服務(wù),適合存放任意類(lèi)型的文件。容量和處理能力彈性擴(kuò)展,多種存儲(chǔ)類(lèi)型供選擇,全面優(yōu)化存儲(chǔ)成本。它的特點(diǎn)是:
- 高可靠性
- 安全
- 低成本
- 豐富、強(qiáng)大的增值服務(wù)
數(shù)據(jù)分析處理技術(shù)
離線批處理
MapReduce
把一個(gè)復(fù)雜的任務(wù),分成多份并行的統(tǒng)一處理的任務(wù)。
通用計(jì)算框架 – Spark
Spark是一種分布式、通用大數(shù)據(jù)計(jì)算框架??捎糜陔x線計(jì)算、交互式查詢(xún)、流式計(jì)算、機(jī)器學(xué)習(xí)等。其特點(diǎn)有:
- 速度快:基于內(nèi)存并行計(jì)算
- 易上手:基于RDD計(jì)算模型
- 通用性: SQL 和DataFrames,,Mllib,GraphX, Spark Streaming
實(shí)時(shí)流處理
大數(shù)據(jù)處理框架
優(yōu)點(diǎn)
缺點(diǎn)
APACHE STORM
框架簡(jiǎn)單,學(xué)習(xí)成本低;毫秒級(jí)延遲,實(shí)時(shí)性好;健壯、穩(wěn)定
編程成本高;邏輯與批處理完全不同,無(wú)法公用代碼;Debug比較復(fù)雜
Spark Streaming
編程語(yǔ)言豐富、編程簡(jiǎn)單;框架封裝層級(jí)高,封裝性好;可以共用批處理邏輯
微批處理,時(shí)間延遲大;穩(wěn)定性相對(duì)較差;機(jī)器性能消耗大
Flink
Flink流處理為先的方法可提供低延遲、高吞吐、近乎逐項(xiàng)處理的能力;可通過(guò)多種方式對(duì)工作進(jìn)行分析進(jìn)而優(yōu)化任務(wù);提供了基于Web的調(diào)度視圖
大數(shù)據(jù)分析方法
描述型分析:發(fā)生了什么?
- 廣泛的,精確的實(shí)時(shí)數(shù)據(jù)
- 有效的可視化
診斷型分析:為什么會(huì)發(fā)生?
- 能夠鉆取數(shù)據(jù)的核心
- 能夠?qū)靵y的信息進(jìn)行分離
預(yù)測(cè)型分析:可能發(fā)生什么?
- 使用算法確保歷史模型能夠用戶(hù)預(yù)測(cè)特定的結(jié)果
- 使用算法和技術(shù)確保自動(dòng)生成決定
指令型分析:下步怎么做?
- 依據(jù)測(cè)試結(jié)果來(lái)選定最佳的行為和策略
- 應(yīng)用先進(jìn)的分析技術(shù)幫助做出決策
數(shù)據(jù)挖掘
數(shù)據(jù)挖掘就提取隱含在數(shù)據(jù)中的、人們事先不知道的、但又是潛在有用的信息和知識(shí)。
數(shù)據(jù)挖掘常用算法:
算法 |
描述 |
分類(lèi) |
在給定數(shù)據(jù)基礎(chǔ)上構(gòu)建分類(lèi)函數(shù)或分類(lèi)模型,該函數(shù)或模型能夠把數(shù)據(jù)歸類(lèi)為給定類(lèi)別中某一類(lèi)別,這就是分類(lèi)的概念。典型算法有KNN、決策樹(shù)、樸素貝葉斯、支持向量機(jī)等。 |
聚類(lèi) |
聚類(lèi)也就是將抽象對(duì)象的集合分為相似對(duì)象組成的多個(gè)類(lèi)的過(guò)程。聚類(lèi)過(guò)程生成的簇稱(chēng)為一組數(shù)據(jù)對(duì)象的集合。常見(jiàn)算法K-Means、EM、DBScan等 |
回歸 |
回歸分析是一種預(yù)測(cè)性的建模技術(shù),它研究的是因變量(目標(biāo))和自變量(預(yù)測(cè)器)之間的關(guān)系。常用的回歸方法有線性回歸與帶有正則化項(xiàng)的嶺回歸、LASSO回歸等。 |
時(shí)間序列 |
時(shí)間序列預(yù)測(cè)是一種歷史引申預(yù)測(cè)法,也就是將時(shí)間數(shù)列反映的事件發(fā)展過(guò)程進(jìn)行引申外推,預(yù)測(cè)發(fā)展趨勢(shì)的一種方法。 |
關(guān)聯(lián)規(guī)則 |
關(guān)聯(lián)規(guī)則屬于數(shù)據(jù)挖掘算法中的一類(lèi)重要方法,關(guān)聯(lián)規(guī)則就是支持度與置信度分別滿足給定閾值的規(guī)則。 |
機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí),即機(jī)器獲取新知識(shí)和新技能,并識(shí)別現(xiàn)有知識(shí)。機(jī)器學(xué)習(xí)有如下分類(lèi):
- 有監(jiān)督學(xué)習(xí)
- 無(wú)監(jiān)督學(xué)習(xí)
- 強(qiáng)化學(xué)習(xí)
機(jī)器學(xué)習(xí)技能范疇:
數(shù)據(jù)可視化
數(shù)據(jù)可視化:利用計(jì)算機(jī)圖形學(xué)和圖像處理技術(shù),將數(shù)據(jù)轉(zhuǎn)換為圖形或者圖像在屏幕上顯示出來(lái)進(jìn)行交互處理的理論方法和技術(shù)。數(shù)據(jù)可視化主要旨在借助于圖形化手段,清晰有效地傳達(dá)與溝通信息。
數(shù)據(jù)可視化隨著平臺(tái)的拓展、應(yīng)用領(lǐng)域的增加,表現(xiàn)形式的不斷變化,從原始的BI統(tǒng)計(jì)圖表,到不斷增加的諸如實(shí)時(shí)動(dòng)態(tài)效果、地理信息、用戶(hù)交互等等。數(shù)據(jù)可視化的概念邊界不斷擴(kuò)大。
數(shù)據(jù)可視化技術(shù)
將事物的數(shù)值圖形化:每個(gè)事物的數(shù)值都是一個(gè)數(shù)據(jù),將數(shù)據(jù)的大小以圖形的方式表現(xiàn)。
將事物圖形化:利用圖形表示事物,方便看圖人員,傳遞信息。
將事物的關(guān)系圖形化:當(dāng)存在多個(gè)指標(biāo)時(shí),挖掘指標(biāo)之間的關(guān)系,并將其圖形化表達(dá),可提升圖表的可視化深度借助已有的場(chǎng)景表現(xiàn)通過(guò)構(gòu)建場(chǎng)景表現(xiàn)。
將時(shí)間和空間可視化
將概念進(jìn)行轉(zhuǎn)換:對(duì)數(shù)據(jù)的大小難以感知時(shí),通常進(jìn)行概念轉(zhuǎn)換,常用方法有對(duì)比和比喻。
數(shù)據(jù)可視化常見(jiàn)方法
統(tǒng)計(jì)圖表:指標(biāo)看板、餅圖、直方圖、散點(diǎn)圖、柱狀圖等傳統(tǒng)BI統(tǒng)計(jì)圖表。
2D、3D區(qū)域:使用的地理空間數(shù)據(jù)可視化技術(shù),往往涉及到事物特定表面上的位置。如點(diǎn)分布圖,可以顯示諸如在一定區(qū)域內(nèi)犯罪情況。
時(shí)態(tài):時(shí)態(tài)可視化是數(shù)據(jù)以線性的方式展示。最為關(guān)鍵的是時(shí)態(tài)數(shù)據(jù)可視化有一個(gè)起點(diǎn)和一個(gè)終點(diǎn)。如散點(diǎn)圖顯示諸如某些區(qū)域的溫度信息。
多維:可以通過(guò)使用常用的多維方法來(lái)展示二維或高(多)維度的數(shù)據(jù)。如餅圖,它可以顯示諸如政府開(kāi)支。
分層:分層方法用于呈現(xiàn)多組數(shù)據(jù)。這些數(shù)據(jù)可視化通常展示的是大群體里面的小群體。如樹(shù)形圖。
網(wǎng)絡(luò):在網(wǎng)絡(luò)中展示數(shù)據(jù)間的關(guān)系,它是一種常見(jiàn)的展示大數(shù)據(jù)量的方法。