日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

大数据架构及技术体系

發(fā)布時間:2023/12/14 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大数据架构及技术体系 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

下面是大數(shù)據(jù)體系架構圖

大數(shù)據(jù)分2個部分,一部分是走實時的,另外一部分是走離線的,不管那塊都需要數(shù)據(jù)來分析

從上圖來看,數(shù)據(jù)分為結構化數(shù)據(jù)(MYSQL,ORACLE等),半結構數(shù)據(jù)(文件日志),非結構化數(shù)據(jù)(視頻,PPT等)

我們一般需要分析的數(shù)據(jù) 就是結構化的數(shù)據(jù)和非結構化的數(shù)據(jù),非結構化數(shù)據(jù)可以存HDFS系統(tǒng)。

很多專業(yè)的東西后面在開博客另講,先大概了解數(shù)據(jù)流走向。

1,數(shù)據(jù)收集系統(tǒng)。

? ? ?首先我們要坐的就是收集數(shù)據(jù),像數(shù)據(jù)庫中的數(shù)據(jù)我們可以通過Sqoop(通過SHELL命令連接數(shù)據(jù)庫實現(xiàn) MYSQL,HIVE(可以通過HQL將HDFS中的數(shù)據(jù)通過表形式呈現(xiàn)出來)和HDFS(分布式文件系統(tǒng))間的通信)來收集,這種我們可以通過用azkaban(分布式工作流調度)來定時調度每天講MYSQL數(shù)據(jù)導入到HDFS和HIVE中,這部分數(shù)據(jù)方便我們坐離線計算。

? ? ?像一些商品查詢,用戶登陸等查詢操作,又或者是要計算實時交易等(直接操作數(shù)據(jù)庫會影響數(shù)據(jù)庫性能),這些東西就可以走日志收集這塊,可以在前端埋點和后端埋點,記錄日志,然后在通過flume收集,發(fā)送到KAFKa和HDFS(HIVE)中.這部分的數(shù)據(jù)可以走實時(flink消費kafka中的數(shù)據(jù)進行流式計算),可以走離線計算(一般第二天凌晨和mysql數(shù)據(jù)結合統(tǒng)計一些報表)

2,數(shù)據(jù)離線分離。

? ?數(shù)據(jù)離線分析,離線分析大概分4層,

? ? ? ODS:原始數(shù)據(jù)層(保持數(shù)據(jù)的最初),DWD:數(shù)據(jù)倉庫數(shù)據(jù)層(去除空值,臟數(shù)據(jù),超過極限范圍的明細解析等

? ? ? DWS:數(shù)據(jù)倉庫服務層:寬表-用戶行為,輕度聚合,對dwd層的數(shù)據(jù)在進行處理輕度匯總

? ? ? ADS:? ?做分析處理最后將同步到mysql數(shù)據(jù)庫里邊,給其他應用展示

? 大概流程和使用的技術。像每天,每周等報表,azkaban定時調度,通過HIVE腳本對每天的ODS數(shù)據(jù)進行離線分析處理

慢慢到DWD,DWS,ADS,最后同步到數(shù)據(jù)庫。

?3,數(shù)據(jù)實時計算。

? ?有些公司需要看一些實時數(shù)據(jù),比如商品的訪問量,用戶登陸情況,實時交易額等。這些數(shù)據(jù)有些從數(shù)據(jù)庫中查詢不到(商品訪問,用戶登陸),有些數(shù)據(jù)庫有但是統(tǒng)計復制,慢(實時交易量,訂單數(shù)等),這些數(shù)據(jù)就可以走實時統(tǒng)計。

? ?像1說的,可以通過數(shù)據(jù)埋點,在這些需要計算的地方埋點(就是記錄日志,將需要的數(shù)據(jù)寫到日志),最后通過FLUME手機匯總,最后到kafka,flink通過消費KAFKA的數(shù)據(jù)來消費這些日志,通過FLINK的流式計算,中間也像離線一樣分ODS,DWD,ADS,最后講結果寫到數(shù)據(jù)庫,整個流程雖然不是毫秒級,但也是亞秒級別的。

上面就是整個大數(shù)據(jù)的流程和需要用的技術。

flume 日志收集傳輸框架 專門也來對接HDFS,也可以對接KAFKA等。

hadoop體系:? HDFS 分布式文件存儲系統(tǒng) ,? ? YARN:基于hadoop的分布式資源調度,? ?MAPREDUCE:基于hadoop的分布式計算應用 (像HIVE就是基于YARM向執(zhí)行一個一個的MAPREDUCE)?

kafka? 消息隊列,高吞吐,穩(wěn)定,緩存數(shù)據(jù)的

zookeeper 保證大數(shù)據(jù)中的一些框架的高可用

sqoop:主要用于在Hadoop(Hive)與傳統(tǒng)的數(shù)據(jù)庫(mysql、postgresql...)間進行數(shù)據(jù)的傳遞

azkaban:工作流調度系統(tǒng),可以按定義的邏輯一步一步先后執(zhí)行腳本和JAVA程序(包括sh,java)

hive:是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結構化的數(shù)據(jù)文件映射為一張表,并提供SQL查詢功能,其實就是通過mapreduce來操作數(shù)據(jù)。

flink:是一個框架和分布式處理引擎,用于對無界和有界數(shù)據(jù)流進行有狀態(tài)計算,通過流式計算。(暫時沒跑通)

?

總結

以上是生活随笔為你收集整理的大数据架构及技术体系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。