阿里大數(shù)據(jù)分析與應(yīng)用

大數(shù)據(jù) 分析 阿里 流程 常用| 2022-09-02 admin

文章目錄

  • ?大數(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ù)分析與應(yīng)用

離線數(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ù)采集與處理

阿里大數(shù)據(jù)分析與應(yīng)用

采集工具工具:

  • 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ǔ)與管理

阿里大數(shù)據(jù)分析與應(yīng)用

分布式文件系統(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ù)分析與應(yīng)用

分布式列存數(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ù)

離線批處理

阿里大數(shù)據(jù)分析與應(yīng)用

MapReduce

把一個(gè)復(fù)雜的任務(wù),分成多份并行的統(tǒng)一處理的任務(wù)。

阿里大數(shù)據(jù)分析與應(yīng)用

通用計(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ù)據(jù)分析與應(yīng)用

實(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ù)分析方法

阿里大數(shù)據(jù)分析與應(yīng)用

描述型分析:發(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ī)則就是支持度與置信度分別滿(mǎn)足給定閾值的規(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ù)分析與應(yīng)用

數(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ù)量的方法。

常見(jiàn)可視化圖表

阿里大數(shù)據(jù)分析與應(yīng)用

圖表類(lèi)型的使用場(chǎng)景