精品一区二区三区在线成人,欧美精产国品一二三区,Ji大巴进入女人66h,亚洲春色在线视频

如何構(gòu)建準(zhǔn)實時數(shù)倉?

大數(shù)據(jù) 數(shù)據(jù)倉庫
當(dāng)前,數(shù)據(jù)倉庫被分為離線數(shù)倉和實時數(shù)倉,離線數(shù)倉一般是傳統(tǒng)的T+1型數(shù)據(jù)ETL方案,而實時數(shù)倉一般是分鐘級甚至是秒級ETL方案。并且,離線數(shù)倉和實時數(shù)倉的底層架構(gòu)也不一樣,離線數(shù)倉一般采用傳統(tǒng)大數(shù)據(jù)架構(gòu)模式搭建,而實時數(shù)倉則采用Lambda、Kappa等架構(gòu)搭建。

當(dāng)前,數(shù)據(jù)倉庫被分為離線數(shù)倉和實時數(shù)倉,離線數(shù)倉一般是傳統(tǒng)的T+1型數(shù)據(jù)ETL方案,而實時數(shù)倉一般是分鐘級甚至是秒級ETL方案。并且,離線數(shù)倉和實時數(shù)倉的底層架構(gòu)也不一樣,離線數(shù)倉一般采用傳統(tǒng)大數(shù)據(jù)架構(gòu)模式搭建,而實時數(shù)倉則采用Lambda、Kappa等架構(gòu)搭建。

其中,實時數(shù)倉又被細(xì)分為兩類:一類是標(biāo)準(zhǔn)的實時數(shù)倉,所有ETL過程都通過Spark或Flink等實時計算、落地;另一類是簡化的實時數(shù)倉,甚至是離線數(shù)倉的簡單升級,這類數(shù)倉叫做準(zhǔn)實時數(shù)倉。

接下來,本文重點梳理準(zhǔn)實時數(shù)倉應(yīng)用場景!

簡單理解,準(zhǔn)實時數(shù)倉一定會有延遲,相比一天只統(tǒng)計一次的離線數(shù)據(jù)倉庫,準(zhǔn)實時倉庫要根據(jù)業(yè)務(wù)需求,按照小時、分鐘或者秒來計算。這里,以5分鐘為界限,5分鐘出一次結(jié)果,可以基于Structured Streaming實現(xiàn)準(zhǔn)實時數(shù)據(jù)倉庫構(gòu)建,這是一個基于流式數(shù)據(jù)基礎(chǔ)之上的離線操作,即按照時間切分批次,整體的數(shù)據(jù)在流式計算引擎上面,也就是在Structured Streaming上面。

實時數(shù)倉項目分行業(yè)、分領(lǐng)域,以新聞資訊類為例,比如今日頭條、一點資訊、騰訊新聞、網(wǎng)易新聞、百度瀏覽器、360瀏覽器、新浪、搜狐等。這類應(yīng)用有哪些數(shù)據(jù)源?一般包括用戶信息、隱私以及和用戶收益相關(guān)的業(yè)務(wù)數(shù)據(jù);還有用戶瀏覽文章留下的行為日志;用戶發(fā)布作品產(chǎn)生的內(nèi)容日志,這些信息首先會收集到Kafka上。

之后的過程是,通過Spark Structured Streaming消費Kafka的原始數(shù)據(jù)。這里需要強(qiáng)調(diào)一點,采用Spark Structured Streaming有三個原因。第一,實現(xiàn)流批統(tǒng)一,可以處理批計算;第二支持file sink,實現(xiàn)端到端的一致性語義;第三,可以控制sink到HDFS的時間,比如:對批次數(shù)據(jù)設(shè)置5分鐘節(jié)點,延時低,處理速度快。

從sink到HDFS時,可以選擇使用Hudi,也可以選擇不使用Hudi,如果通過Spark Streaming直接寫數(shù)據(jù)到HDFS時,不可避免地要處理小文件問題,一般有四種處理方式。第一,增大批處理能力,但也會增加延遲;第二分區(qū)合并;第三外部程序融入;第四,如果文件沒有達(dá)到指定大小,下一個批次寫數(shù)據(jù)的時候不創(chuàng)建文件,而是和已存在的小文件合并。這四種方式各有其使用場景,無論采用哪種方式,都會增加工作量。但是,如果通過Hudi寫入數(shù)據(jù),小文件的問題,Hudi會幫忙解決。

還有一個問題,除了用戶行為事件日志不會更新,很多業(yè)務(wù)數(shù)據(jù)需要實時更新,比如:用戶信息的修改。但是,HDFS本身不支持更新,導(dǎo)致需要修改的數(shù)據(jù)要經(jīng)過一個復(fù)雜的處理流程,并且在整個過程中,數(shù)據(jù)的實時性也無法保證,如果使用Hudi,可以在相對較短的延遲下,比如分鐘級別,提供數(shù)據(jù)更新的支持,同時Hudi也支持ACID。

當(dāng)原始數(shù)據(jù)落地到HDFS上,可以在落地過程中做一些數(shù)據(jù)預(yù)處理的工作,比如之前在Flume Interceptor中的數(shù)據(jù)處理工作,之后我們可以通過Hive建立對應(yīng)的外部表,可以對這些表劃分一個層次,叫做ODS層的表,這些表都是最原始數(shù)據(jù),也是數(shù)倉的第一層。

建立完ODS層的Hive表,就可以根據(jù)業(yè)務(wù)需求查詢數(shù)據(jù)了。至于,我們是不是要構(gòu)建更上層的數(shù)倉層次,要根據(jù)業(yè)務(wù)需求來確定。映射Hive的原始數(shù)據(jù)層ODS后,就有數(shù)據(jù)可以分析處理,分析使用的是Presto分析引擎,基于內(nèi)存的計算框架,計算速度要比Hive和Spark快很多。

使用Presto查詢操作完成OLAP分析處理,還會整合Spring Boot框架,使用JDBC連接Presto,提供對外查詢接口,供分析人員使用。

責(zé)任編輯:華軒 來源: IT168網(wǎng)站
相關(guān)推薦

2021-07-13 07:04:19

Flink數(shù)倉數(shù)據(jù)

2025-05-20 10:03:59

數(shù)據(jù)倉庫Flink SQLPaimon

2022-09-28 07:08:25

技術(shù)實時數(shù)倉

2021-08-31 10:18:34

Flink 數(shù)倉一體快手

2023-08-29 10:20:00

2022-03-07 07:18:18

Netflix機(jī)器學(xué)習(xí)架構(gòu)

2022-04-24 14:40:05

架構(gòu)大數(shù)據(jù)

2023-10-13 07:25:50

2021-07-22 18:29:58

AI

2024-09-03 14:59:00

2021-01-18 05:20:52

數(shù)倉hive架構(gòu)

2023-07-27 07:44:07

云音樂數(shù)倉平臺

2022-06-27 09:09:34

快手Flink數(shù)倉建設(shè)

2023-05-10 07:21:58

數(shù)據(jù)平臺架構(gòu)

2022-07-07 17:49:32

阿里數(shù)倉Hologres

2022-06-28 09:47:05

數(shù)據(jù)倉庫

2021-07-16 10:55:45

數(shù)倉一體Flink SQL

2023-05-06 07:19:48

數(shù)倉架構(gòu)技術(shù)架構(gòu)

2018-10-19 14:16:09

Flink數(shù)據(jù)倉庫數(shù)據(jù)系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 贵港市| 辰溪县| 台东市| 如皋市| 河北省| 区。| 兴国县| 行唐县| 淮滨县| 两当县| 青铜峡市| 浑源县| 青阳县| 松阳县| 南乐县| 雷山县| 蓬溪县| 巴中市| 淅川县| 佳木斯市| 景德镇市| 舒城县| 沙湾县| 垫江县| 佳木斯市| 昭通市| 绵竹市| 新巴尔虎左旗| 博罗县| 哈巴河县| 道孚县| 壶关县| 寻乌县| 察雅县| 农安县| 盱眙县| 介休市| 铁力市| 平遥县| 江阴市| 本溪|