亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于大數(shù)據(jù)的電商數(shù)據(jù)倉(cāng)庫(kù)可視化平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

        2024-01-03 08:42:02吳憲傳吳紹榮顏遠(yuǎn)海
        現(xiàn)代計(jì)算機(jī) 2023年21期
        關(guān)鍵詞:數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)表日志

        吳憲傳,吳紹榮,顏遠(yuǎn)海

        (廣州華商學(xué)院數(shù)據(jù)科學(xué)學(xué)院,廣州 511300)

        0 引言

        隨著電子商務(wù)迅猛發(fā)展,各類(lèi)電商網(wǎng)站、電商APP 不斷涌現(xiàn),電商企業(yè)對(duì)電子商務(wù)信息需求逐漸增多。怎樣提高用戶(hù)商品復(fù)購(gòu)率,如何判斷用戶(hù)消費(fèi)偏向等問(wèn)題成為電商企業(yè)面臨的難題。電商企業(yè)產(chǎn)生海量數(shù)據(jù),企業(yè)需要對(duì)數(shù)據(jù)進(jìn)行有效管理,并對(duì)數(shù)據(jù)進(jìn)行分析與提取。在數(shù)據(jù)處理方面,電商企業(yè)已經(jīng)開(kāi)始使用大數(shù)據(jù)技術(shù)處理數(shù)據(jù),并且大數(shù)據(jù)相關(guān)的生態(tài)技術(shù)也在持續(xù)更新中。

        電商數(shù)據(jù)倉(cāng)庫(kù)可以支持電商企業(yè)決策分析,制定策略。通過(guò)收集用戶(hù)行為數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)進(jìn)行ETL 處理,提取有用主題信息,提高電商企業(yè)市場(chǎng)競(jìng)爭(zhēng)力,推進(jìn)電子商務(wù)智能化發(fā)展。在國(guó)內(nèi),大部分中小型公司并沒(méi)有自己的數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng),往往采用阿里云或華為云等大數(shù)據(jù)一站式解決方案。數(shù)據(jù)倉(cāng)庫(kù)是致力于從紛繁復(fù)雜的數(shù)據(jù)中抽取有用的決策信息,從而幫助企業(yè)更好制定解決策略?;谏鲜鰡?wèn)題,本文提出利用大數(shù)據(jù)技術(shù)實(shí)現(xiàn)對(duì)電商數(shù)據(jù)倉(cāng)庫(kù)平臺(tái)數(shù)據(jù)可視化展示,為中小型企業(yè)及管理者更好了解和掌握實(shí)時(shí)的動(dòng)態(tài)數(shù)據(jù),并為更好制定方案和策略提供有效參考。

        1 電商數(shù)據(jù)倉(cāng)庫(kù)可視化平臺(tái)研究

        1.1 系統(tǒng)采用的相關(guān)技術(shù)簡(jiǎn)介

        (1)HDFS。 HDFS(hadoop distributed file system)是Apache Hadoop 的核心組件之一,是一個(gè)分布式文件系統(tǒng),用于存儲(chǔ)和處理大規(guī)模數(shù)據(jù)集。它是為了解決大規(guī)模數(shù)據(jù)處理問(wèn)題而設(shè)計(jì)的,HDFS 的設(shè)計(jì)思想是分塊存儲(chǔ)。同時(shí),HDFS 還提供了數(shù)據(jù)冗余備份機(jī)制,可以在數(shù)據(jù)節(jié)點(diǎn)出現(xiàn)故障時(shí)自動(dòng)恢復(fù)數(shù)據(jù)。HDFS 廣泛應(yīng)用于大數(shù)據(jù)處理、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘等領(lǐng)域,是構(gòu)建大規(guī)模數(shù)據(jù)處理平臺(tái)的重要組成部分。

        (2)MapReduce。MapReduce 的核心思想是“分而治之”,即將一個(gè)大而復(fù)雜的問(wèn)題分解為多個(gè)小而簡(jiǎn)單的問(wèn)題,先解決多個(gè)小問(wèn)題,再把多個(gè)小問(wèn)題的結(jié)果組成大問(wèn)題的結(jié)果。MapReduce 作為一種分布式計(jì)算框架,主要用于解決海量數(shù)據(jù)的計(jì)算問(wèn)題。MapReduce 計(jì)算過(guò)程可以分為兩個(gè)階段:Map 階段和Reduce 階段[1]。其中,Map階段負(fù)責(zé)將大任務(wù)分解為多個(gè)小任務(wù),Reduce 階段負(fù)責(zé)將多個(gè)小任務(wù)的結(jié)果合并。

        (3)YARN。ApacheHadoopYARN(yetanother resource negotiator),即另一種資源協(xié)調(diào)者,是一個(gè)通用資源管理系統(tǒng)和調(diào)度平臺(tái),基本思想是將Hadoop1.0的MR中的jobTracker拆分為兩個(gè)獨(dú)立的任務(wù),即ResourceManager 和Application-Master。

        (4)Zookeeper。Zookeeper 是一個(gè)分布式協(xié)調(diào)服務(wù)的開(kāi)源框架,它主要用來(lái)解決分布式集群中應(yīng)用系統(tǒng)的一致性問(wèn)題,避免造成數(shù)據(jù)臟讀的問(wèn)題[2]。它將所有的數(shù)據(jù)存儲(chǔ)在內(nèi)存中,因此具有非常高的讀寫(xiě)性能。

        Zookeeper 的架構(gòu)采用了主從模式,其中一個(gè)節(jié)點(diǎn)作為主節(jié)點(diǎn),負(fù)責(zé)協(xié)調(diào)所有的從節(jié)點(diǎn)。Zookeeper還提供了一些高級(jí)功能,如事務(wù)支持、觀察者模式等。

        (5)Kafka。Apache Kafka 是一種高吞吐量分布式發(fā)布訂閱消息系統(tǒng),它可以消費(fèi)所有動(dòng)作流數(shù)據(jù),例如實(shí)時(shí)日志、事件、消息等。Kafka 可以用于構(gòu)建實(shí)時(shí)系統(tǒng),支持實(shí)時(shí)數(shù)據(jù)處理、數(shù)據(jù)流處理、日志處理和消息隊(duì)列等。

        (6)Flume。Apache Flume 的核心是通過(guò)數(shù)據(jù)采集器把數(shù)據(jù)從數(shù)據(jù)源(source)收集過(guò)來(lái),再將收集的數(shù)據(jù)通過(guò)緩沖通道(channel)匯集到指定的接收器(sink)[3]。Flume可以將日志數(shù)據(jù)從一個(gè)系統(tǒng)節(jié)點(diǎn)流傳輸?shù)搅硗庖粋€(gè)系統(tǒng)節(jié)點(diǎn),可以實(shí)現(xiàn)數(shù)據(jù)的采集、聚合和傳輸。Flume采用了“源-匯”模型,即每個(gè)源(source)將數(shù)據(jù)發(fā)送到一個(gè)或多個(gè)匯(sink),匯將數(shù)據(jù)寫(xiě)入指定的目的地。

        Flume是流式日志采集工具,能夠提供從本地文件、實(shí)時(shí)日志、Kafka 等數(shù)據(jù)源上收集數(shù)據(jù)的能力。

        (7)Sqoop。Sqoop 主要用于在Hadoop 和關(guān)系數(shù)據(jù)庫(kù)或大型機(jī)器之間傳輸數(shù)據(jù),其目的是讓Hadoop 開(kāi)發(fā)人員可以輕松訪問(wèn)和分析傳統(tǒng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。Sqoop 使用MapReduce 編程模型來(lái)實(shí)現(xiàn),能夠?qū)?shù)據(jù)從關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)導(dǎo)入到Hadoop 分布式文件系統(tǒng)中,或者將Hadoop 中的數(shù)據(jù)導(dǎo)出到關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(MySQL)[4]。

        (8)Hive。Apache Hive是底層封裝了Hadoop的數(shù)據(jù)倉(cāng)庫(kù)處理工具,它運(yùn)行在Hadoop 基礎(chǔ)上,定義了簡(jiǎn)單類(lèi)SQL 查詢(xún)語(yǔ)言HQL。它可以將HQL 語(yǔ)言轉(zhuǎn)換為MR 任務(wù),在Hadoop 集群上運(yùn)行,也可以通過(guò)Hadoop 執(zhí)行其他編程語(yǔ)言來(lái)操作和分析大數(shù)據(jù)集,如Java、Perl、Python等。Hive 的優(yōu)勢(shì)在于它可以快速輕松地處理大量數(shù)據(jù)。它也可以與其他Hadoop 組件一起使用,如Pig、HBase等,以構(gòu)建大型數(shù)據(jù)分析系統(tǒng)。

        1.2 系統(tǒng)的功能設(shè)計(jì)

        電商數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)主要功能包括數(shù)據(jù)采集模塊、數(shù)據(jù)倉(cāng)庫(kù)模塊和數(shù)據(jù)可視化模塊,如圖1所示。

        圖1 電商數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)功能模塊

        1.2.1 數(shù)據(jù)采集功能

        數(shù)據(jù)采集是指收集數(shù)據(jù)的過(guò)程。將各種不同來(lái)源的數(shù)據(jù)收集和整理以便進(jìn)行數(shù)據(jù)分析的重要步驟。

        電商數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)數(shù)據(jù)源主要是收集和分析所得的用戶(hù)行為數(shù)據(jù)[5]。頁(yè)面數(shù)據(jù)主要記錄一個(gè)頁(yè)面的用戶(hù)訪問(wèn)情況,包括用戶(hù)點(diǎn)擊的時(shí)間、點(diǎn)擊后停留的時(shí)間、頁(yè)面的路徑等信息[6]。所有頁(yè)面表有“首頁(yè)”“分類(lèi)頁(yè)”“發(fā)現(xiàn)頁(yè)”“熱門(mén)排行”“搜索頁(yè)”和“商品列表頁(yè)”等字段,所有頁(yè)面對(duì)象類(lèi)型表有“商品skuId”“搜索關(guān)鍵詞”“多個(gè)商品skuId”“活動(dòng)id”和“購(gòu)物券id”等字段, 所有來(lái)源類(lèi)型表有“商品推廠”“算法推薦商品”“查詢(xún)結(jié)果商品”和“促銷(xiāo)活動(dòng)”等字段。

        事件數(shù)據(jù)主要記錄用戶(hù)的操作行為,包括用戶(hù)操作的類(lèi)型、用戶(hù)操作的對(duì)象、用戶(hù)操作對(duì)象的描述等信息。用戶(hù)操作的類(lèi)型表有“favor_add”“favor_canel”“cart_add”“cart_remove”“cart_add_num”“cart_minus_num”“trade_add_address”和“get_coupon”等字段,具體見(jiàn)表1。用戶(hù)操作的對(duì)象表有“商品”和“購(gòu)物券”等字段。

        表1 用戶(hù)操作的類(lèi)型

        曝光數(shù)據(jù)主要記錄APP 頁(yè)面曝光的內(nèi)容,包括APP 頁(yè)面曝光對(duì)象,APP 頁(yè)面曝光類(lèi)型等信息。所有曝光類(lèi)型表有“商品推廠”“算法推薦商品”“查詢(xún)結(jié)果商品”和“促銷(xiāo)活動(dòng)”等字段,所有曝光對(duì)象類(lèi)型表有“商品skuId”和活動(dòng)“id字段”。

        啟動(dòng)數(shù)據(jù)記錄APP 的啟動(dòng)信息。所有啟動(dòng)入口類(lèi)型表有“圖標(biāo)”“通知”和“安裝后啟動(dòng)”等字段。

        錯(cuò)誤數(shù)據(jù)記錄APP 使用過(guò)程中的錯(cuò)誤信息,所有錯(cuò)誤信息類(lèi)型表“錯(cuò)誤編號(hào)”和“錯(cuò)誤信息”等字段。

        1.2.2 數(shù)據(jù)倉(cāng)庫(kù)模塊

        電商數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)是從大量的數(shù)據(jù)中快速獲取有效價(jià)值數(shù)據(jù)的系統(tǒng)[7]。通過(guò)收集企業(yè)各種內(nèi)部信息和外部信息,對(duì)數(shù)據(jù)進(jìn)行抽取、清理和有效集成,同時(shí)多角度、多層次分析,發(fā)現(xiàn)數(shù)據(jù)規(guī)律和趨勢(shì)。

        電商數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)主要是面對(duì)海量的數(shù)據(jù),提供復(fù)雜的分析操作,幫助企業(yè)決策人員、高級(jí)管理人員決策支持,并且能夠提供直觀易懂的查詢(xún)結(jié)果。

        1.2.3 數(shù)據(jù)可視化模塊

        電商數(shù)據(jù)可視化需要將數(shù)據(jù)轉(zhuǎn)化為圖形或圖像,通過(guò)建模、表面、立體、動(dòng)畫(huà)等展示,對(duì)數(shù)據(jù)進(jìn)行可視化解釋?zhuān)屍髽I(yè)決策者可以通過(guò)圖形或圖像直觀地看到數(shù)據(jù)分析的結(jié)果,更容易地理解業(yè)務(wù)變化趨勢(shì)。更快地發(fā)現(xiàn)市場(chǎng)需求變化,獲得更多信息,提高市場(chǎng)份額。

        2 數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)總體設(shè)計(jì)

        2.1 系統(tǒng)總體架構(gòu)

        電商數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)架構(gòu),采用大數(shù)據(jù)主流框架技術(shù),尤其是用戶(hù)行為數(shù)據(jù)采用了Flume-Kafka-Flume框架,如圖2所示。

        圖2 電商數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)架構(gòu)

        2.2 數(shù)據(jù)采集模塊設(shè)計(jì)

        數(shù)據(jù)采集模塊主要實(shí)現(xiàn)兩個(gè)需求,將用戶(hù)行為日志數(shù)據(jù)導(dǎo)入到HDFS和將數(shù)據(jù)庫(kù)管理系統(tǒng)中的業(yè)務(wù)數(shù)據(jù)導(dǎo)入到HDFS。

        將用戶(hù)行為日志數(shù)據(jù)導(dǎo)入HDFS 采用了Flume 和Kafka 框架,設(shè)計(jì)了兩層Flume 中間加一個(gè)Kafka 集群的結(jié)構(gòu)。第一層用多個(gè)Flume 采集日志文件,防止壓力過(guò)大,保持服務(wù)器的負(fù)載均衡。第二層Flume 從第一層Flume 里采集數(shù)據(jù)傳輸?shù)紿DFS 里。但是如果第一層Flume 在某一時(shí)間采集的數(shù)據(jù)量過(guò)大,將會(huì)導(dǎo)致第二層Flume無(wú)法及時(shí)處理數(shù)據(jù),就會(huì)因消息太多導(dǎo)致拒絕服務(wù)以及網(wǎng)絡(luò)擁塞。所以又在兩層Flume中間加了一個(gè)Kafka集群作為緩沖區(qū)。

        將數(shù)據(jù)庫(kù)管理系統(tǒng)中的業(yè)務(wù)數(shù)據(jù)導(dǎo)入HDFS使用的是Sqoop 工具[8]。Sqoop 是Hadoop 生態(tài)圈的一部分,將導(dǎo)入導(dǎo)出的命令翻譯成MR程序來(lái)執(zhí)行[9],通過(guò)JDBC 與數(shù)據(jù)庫(kù)進(jìn)行交互,整個(gè)過(guò)程是完全自動(dòng)化的,從而實(shí)現(xiàn)高效的傳輸數(shù)據(jù)。

        2.3 數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)

        電商數(shù)據(jù)倉(cāng)庫(kù)是針對(duì)電商企業(yè)的數(shù)據(jù)分析和決策,需要考慮數(shù)據(jù)清洗、建立維度和度量、以及保證數(shù)據(jù)的質(zhì)量和安全。在清洗數(shù)據(jù)方面,需要篩選掉一些噪聲和無(wú)效數(shù)據(jù);在建立維度和度量方面,需要選擇合適的指標(biāo)和數(shù)據(jù)類(lèi)型;在數(shù)據(jù)質(zhì)量和安全方面,需要設(shè)置權(quán)限、控制交互和確保數(shù)據(jù)的完整性和一致性。

        電商數(shù)據(jù)倉(cāng)庫(kù)還需要考慮具體的業(yè)務(wù)需求,提供定制的數(shù)據(jù)分析和決策支持。比如,可以針對(duì)銷(xiāo)售數(shù)據(jù)進(jìn)行多維分析,了解產(chǎn)品的銷(xiāo)售情況、用戶(hù)的購(gòu)買(mǎi)行為、銷(xiāo)售渠道的效果等;也可以進(jìn)行數(shù)據(jù)挖掘,發(fā)掘用戶(hù)的興趣點(diǎn)和購(gòu)物習(xí)慣,并根據(jù)這些信息進(jìn)行推薦或者趨勢(shì)預(yù)測(cè)等。

        本系統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)分為以下幾部分:

        (1)ODS(operational data store)層。

        ODS 層是電商數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)中最基礎(chǔ)和重要的一層[9],主要承擔(dān)將業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)實(shí)時(shí)抽取、清洗和轉(zhuǎn)換,為DW(data warehouse)層提供數(shù)據(jù)源的功能。ODS 層所采用的數(shù)據(jù)模式需要和業(yè)務(wù)系統(tǒng)一致,并且不對(duì)數(shù)據(jù)作任何修改,以保證數(shù)據(jù)的一致性。此外,ODS 層還需要對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控和異常處理,確保數(shù)據(jù)的正確性和及時(shí)性。

        ODS 層的主要功能包括:①數(shù)據(jù)抽?。篛DS 層通過(guò)多種方式,如JDBC、API 等將數(shù)據(jù)抽取到ODS 層;②數(shù)據(jù)清洗:ODS 層需要對(duì)抽取到的數(shù)據(jù)進(jìn)行清洗、格式化、數(shù)據(jù)類(lèi)型轉(zhuǎn)換等處理,并篩選掉無(wú)效數(shù)據(jù)和異常數(shù)據(jù);③數(shù)據(jù)集成:ODS 層需要將來(lái)自多個(gè)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)進(jìn)行集成,形成一個(gè)完整的數(shù)據(jù)源;④數(shù)據(jù)傳輸:ODS 層需提供實(shí)時(shí)數(shù)據(jù)傳輸?shù)墓δ?,將業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)及時(shí)傳輸?shù)綌?shù)據(jù)倉(cāng)庫(kù)中,以保證數(shù)據(jù)的及時(shí)性和準(zhǔn)確性。

        ODS 層是電商數(shù)據(jù)倉(cāng)庫(kù)中至關(guān)重要的一層,它不僅是數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)中的數(shù)據(jù)源,還是實(shí)現(xiàn)數(shù)據(jù)清洗、轉(zhuǎn)換、集成和傳輸?shù)年P(guān)鍵。只有建立了高效、可靠的ODS 層,才能為企業(yè)的數(shù)據(jù)分析和決策提供穩(wěn)定可靠的數(shù)據(jù)。

        (2)DWD(data warehouse detail)層。

        DWD 層是數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)中的核心層次,它負(fù)責(zé)接受和整合ODS 層的數(shù)據(jù),并根據(jù)業(yè)務(wù)分析需求進(jìn)行處理和建模,構(gòu)建出符合業(yè)務(wù)需求和分析要求的數(shù)據(jù)模型。

        DWD 層的主要任務(wù)包括:①數(shù)據(jù)建模:DWD 層根據(jù)業(yè)務(wù)分析需求建立合適的數(shù)據(jù)模型,包括維度模型(dimensional model)和實(shí)體關(guān)系模型(entity-relation model);②數(shù)據(jù)質(zhì)量控制:DWD 層可以對(duì)數(shù)據(jù)進(jìn)行質(zhì)量控制,包括數(shù)據(jù)清洗、數(shù)據(jù)去重、數(shù)據(jù)過(guò)濾等,保證數(shù)據(jù)的準(zhǔn)確性和一致性;③數(shù)據(jù)存儲(chǔ):DWD 層將整理后的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)倉(cāng)庫(kù)中,為后續(xù)的多維分析和數(shù)據(jù)挖掘提供支持。

        DWD 層是電商數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)處理的重要部分,負(fù)責(zé)管理事實(shí)表和維度表,提供數(shù)據(jù)的邏輯處理和建模,確保數(shù)據(jù)的質(zhì)量和可用性,為后續(xù)的分析和決策提供高質(zhì)量的數(shù)據(jù)。

        (3)DWS(data warehouse summary)層。

        DWS 層是數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)中分析和決策的數(shù)據(jù)來(lái)源。DWS層通過(guò)對(duì)DWD 層中整合、清洗后的數(shù)據(jù)進(jìn)行加工、計(jì)算和匯總,得出更高層次的聚合數(shù)據(jù),以支持更廣泛的業(yè)務(wù)分析和決策。

        DWS 層的主要任務(wù)包括:①數(shù)據(jù)匯總:DWS 層需要生成更高層次的報(bào)表和指標(biāo),以支持經(jīng)理層級(jí)和高層管理層級(jí)的決策需求;②數(shù)據(jù)加工:DWS 層根據(jù)特定的業(yè)務(wù)需求,對(duì)數(shù)據(jù)進(jìn)行加工、計(jì)算和轉(zhuǎn)換,得到更加精準(zhǔn)和實(shí)用的指標(biāo)和分析結(jié)果;③數(shù)據(jù)建模:DWS 層根據(jù)具體的決策需求建立決策支持模型,為決策提供清晰、準(zhǔn)確的圖像和指南。

        DWS 層的數(shù)據(jù)模型和數(shù)據(jù)加工方式需要根據(jù)具體的業(yè)務(wù)需求和分析目標(biāo)進(jìn)行設(shè)計(jì)和調(diào)整。它承擔(dān)著向上級(jí)管理層提供決策支持的重要功能,因此需要在保持?jǐn)?shù)據(jù)準(zhǔn)確性和一致性的基礎(chǔ)上,更加注重?cái)?shù)據(jù)的實(shí)用性和可解釋性。

        (4)DWT(data warehouse transform)層。

        DWT 層通常是指匯總歷史數(shù)據(jù)的層次,它不同于DWS 層,不是用于決策支持,而是用于歷史數(shù)據(jù)的存儲(chǔ)和管理。DWT 層中的數(shù)據(jù)是基于DWS 層的數(shù)據(jù)計(jì)算出來(lái)的,通常是每天或每周的數(shù)據(jù)匯總,或者是對(duì)某個(gè)時(shí)間段內(nèi)的數(shù)據(jù)進(jìn)行匯總。

        DWT 層的主要功能包括:①數(shù)據(jù)匯總:DWT 層負(fù)責(zé)對(duì)DWS 層的數(shù)據(jù)進(jìn)行時(shí)間段的匯總和聚合,形成歷史數(shù)據(jù)的總體框架和趨勢(shì);②數(shù)據(jù)質(zhì)量校準(zhǔn):DWT 層需要對(duì)匯總后的數(shù)據(jù)進(jìn)行質(zhì)量控制,確保數(shù)據(jù)的正確性和一致性;③數(shù)據(jù)管理:DWT層需要對(duì)歷史數(shù)據(jù)進(jìn)行管理,包括數(shù)據(jù)的備份、恢復(fù)、遷移、清理等。

        DWT 層主要用于歷史數(shù)據(jù)的存儲(chǔ)和管理,通常不直接用于業(yè)務(wù)分析和決策。與DWS 層不同,它強(qiáng)調(diào)數(shù)據(jù)的歷史性和可追溯性,為企業(yè)提供可靠的歷史數(shù)據(jù)支持,因此也是數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)中的重要組成部分。

        (5)ADS(analytic data store)層。

        ADS 層是電商數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)展示層,是電商數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)中的一個(gè)重要組成部分,旨在為業(yè)務(wù)分析和智能決策提供高性能、高可靠、高可擴(kuò)展的數(shù)據(jù)查詢(xún)服務(wù),幫助電商企業(yè)快速發(fā)現(xiàn)業(yè)務(wù)趨勢(shì)和問(wèn)題。

        在ADS 層中,數(shù)據(jù)會(huì)被預(yù)處理和加工,生成適合各種數(shù)據(jù)分析需求的數(shù)據(jù)模型。通俗地說(shuō),ADS 層就是我們平時(shí)所說(shuō)的BI 系統(tǒng),提供了各種分析指標(biāo)和圖形化界面,便于業(yè)務(wù)人員進(jìn)行數(shù)據(jù)分析和決策。ADS 層是電商數(shù)據(jù)倉(cāng)庫(kù)的核心部分之一,是企業(yè)業(yè)務(wù)決策的重要依據(jù)。通過(guò)ADS 的分析,企業(yè)可以及時(shí)發(fā)現(xiàn)問(wèn)題和機(jī)遇,制定更好的業(yè)務(wù)策略和決策。

        2.4 數(shù)據(jù)可視化模塊設(shè)計(jì)

        Apache Superset 工具能夠?qū)釉S多數(shù)據(jù)源,如Hive、MySQL等,并且操作簡(jiǎn)單。同時(shí)Superset擁有較多圖標(biāo)、圖形,支持使用儀表盤(pán)工具,擁有可簡(jiǎn)易操作的UI界面。所以可以使用Superset對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行可視化展示。

        2.5 服務(wù)器規(guī)劃設(shè)計(jì)

        大數(shù)據(jù)生態(tài)組件安裝在服務(wù)器上,需要考慮的因素有:①需要消耗內(nèi)存的組件安裝在不同的服務(wù)器上,避免造成服務(wù)器內(nèi)存溢出或內(nèi)存不足;②需要多次傳輸數(shù)據(jù)的多個(gè)組件安裝在同一臺(tái)服務(wù)器上,提高數(shù)據(jù)傳輸?shù)乃俣?,例如Flume-Kafka-Flume、Zookeeper 等。本系統(tǒng)的大數(shù)據(jù)生態(tài)組件和服務(wù)器規(guī)劃見(jiàn)表2。

        表2 大數(shù)據(jù)生態(tài)組件服務(wù)器規(guī)劃

        3 數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)實(shí)現(xiàn)

        3.1 數(shù)據(jù)采集詳細(xì)實(shí)現(xiàn)

        如圖3 所示,數(shù)據(jù)存儲(chǔ)在HDFS 上需要搭建一個(gè)Hadoop 集群。實(shí)現(xiàn)采集模塊的日志數(shù)據(jù)采集需要搭建兩層Flume、一個(gè)Zookeeper 集群、一個(gè)Kafka 集群。實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)采集需要部署Sqoop框架。

        圖3 數(shù)據(jù)采集模塊架構(gòu)

        3.1.1 Hadoop集群實(shí)現(xiàn)

        Hadoop 中的HDFS 起到海量數(shù)據(jù)的高效存儲(chǔ),而YARN 是本系統(tǒng)需要的資源調(diào)度框架。如圖4 所示的Java 進(jìn)程均說(shuō)明Hadoop 集群成功啟動(dòng)。

        圖4 Hadoop成功啟動(dòng)后的所有進(jìn)程

        成功啟動(dòng)集群之后,可以分別查看HDFS的Web 頁(yè)面、SecondaryNameNode 的Web 頁(yè)面、YARN 的Web 頁(yè)面,具體如圖5、圖6、圖7 所示。

        圖5 HDFS的Web頁(yè)面

        圖6 SecondaryNameNode 的Web頁(yè)面

        圖7 YARN的Web頁(yè)面

        3.1.2 Zookeeper集群實(shí)現(xiàn)

        部署完成之后啟動(dòng)Zookeeper集群。如圖8所示的Java進(jìn)程均說(shuō)明Zookeeper集群成功啟動(dòng)。

        圖8 Zookeeper成功啟動(dòng)后的所有進(jìn)程

        3.1.3 Kafka集群實(shí)現(xiàn)

        部署完成之后啟動(dòng)Kafka 集群。如圖9 所示的Java進(jìn)程均說(shuō)明Kafka集群成功啟動(dòng)。

        圖9 Kafka成功啟動(dòng)后的所有進(jìn)程

        3.1.4 采集層Flume實(shí)現(xiàn)

        部署完成之后啟動(dòng)采集層Flume。如圖10所示的Java進(jìn)程均說(shuō)明采集層Flume成功啟動(dòng)。

        圖10 采集層Flume成功啟動(dòng)后的所有進(jìn)程

        3.1.5 消費(fèi)層Flume實(shí)現(xiàn)

        部署完成之后啟動(dòng)消費(fèi)層Flume。如圖11所示的Java進(jìn)程均說(shuō)明消費(fèi)層Flume成功啟動(dòng)。

        圖11 消費(fèi)層Flume成功啟動(dòng)后的所有進(jìn)程

        3.2 數(shù)據(jù)倉(cāng)庫(kù)詳細(xì)實(shí)現(xiàn)

        3.2.1 ODS層數(shù)據(jù)倉(cāng)庫(kù)實(shí)現(xiàn)

        ODS 層主要用于存放原始的數(shù)據(jù),保證數(shù)據(jù)的可靠性。OSD 層電商數(shù)據(jù)表結(jié)構(gòu)關(guān)系如圖12所示。

        圖12 電商數(shù)據(jù)表結(jié)構(gòu)關(guān)系

        在Hive 中先創(chuàng)建數(shù)據(jù)庫(kù)gmall,然后以日志表為例創(chuàng)建表,代碼如下:

        drop table if exists ods_log;

        CREATE EXTERNAL TABLE ods_log(‘line’string)

        PARTITIONED BY(‘dt’string)

        STORED AS

        INPUTFORMAT

        ‘com.hadoop.mapred.DeprecatedLzoTextInput

        Format’

        OUTPUTFORMAT

        ‘org.apache.hadoop.hive.ql.io.HiveIgnoreKeyText

        OutputFormat’

        LOCATION‘/warehouse/gmall/ods/ods_log’;

        最后創(chuàng)建1 張表存放日志數(shù)據(jù)和23 張表存放業(yè)務(wù)數(shù)據(jù)。ODS層數(shù)據(jù)表如圖13所示。

        圖13 ODS層數(shù)據(jù)表

        3.2.2 DWD層數(shù)據(jù)倉(cāng)庫(kù)實(shí)現(xiàn)

        DWD層主要是對(duì)ODS層的24張表進(jìn)行維度建模解析,提高查詢(xún)的速度。電商數(shù)據(jù)表維度建模如圖14所示。

        圖14 電商數(shù)據(jù)表維度建模

        對(duì)ODS 層的數(shù)據(jù)表進(jìn)行維度建模后,生成DWD層新的維度表和事實(shí)表,如圖15所示。

        圖15 DWD層數(shù)據(jù)表

        3.2.3 DWS層數(shù)據(jù)倉(cāng)庫(kù)實(shí)現(xiàn)

        DWS層將DWD 層數(shù)據(jù)分為會(huì)員主題、活動(dòng)主題、商品主題、地區(qū)主題、設(shè)備主題等五個(gè)大主題,如圖16 所示。每個(gè)主題擁有每個(gè)主題的寬表。

        圖16 DWS層數(shù)據(jù)表

        3.2.4 DWT層數(shù)據(jù)倉(cāng)庫(kù)實(shí)現(xiàn)

        DWT 層需要對(duì)DWS 層的主題數(shù)據(jù)表進(jìn)行進(jìn)一步匯總,因此建立DWT 層數(shù)據(jù)表表示某一段時(shí)間的度量,如圖17所示。

        圖17 DWT層數(shù)據(jù)表

        3.2.5 ADS層數(shù)據(jù)倉(cāng)庫(kù)實(shí)現(xiàn)

        ADS 層主要是統(tǒng)計(jì)各種數(shù)據(jù),為生成可視化報(bào)表提供數(shù)據(jù)支撐,如圖18所示。

        圖18 ADS層數(shù)據(jù)表

        3.3 數(shù)據(jù)可視化模塊詳細(xì)實(shí)現(xiàn)

        使用Superset進(jìn)行UI可視化展示。當(dāng)Superset安裝成功并啟功后,進(jìn)入http://hadoop101:8787顯示登錄界面,正確輸入用戶(hù)名和密碼即可登錄系統(tǒng)。

        4 系統(tǒng)運(yùn)行測(cè)試及可視化展示

        4.1 數(shù)據(jù)采集運(yùn)行測(cè)試

        電商數(shù)據(jù)倉(cāng)庫(kù)部署完成后,執(zhí)行編寫(xiě)好的腳本,生產(chǎn)日志模擬數(shù)據(jù)。然后通過(guò)HDFS 的Web 端頁(yè)面查看日志數(shù)據(jù)是否被采集到磁盤(pán)。同樣生成業(yè)務(wù)模擬數(shù)據(jù),然后通過(guò)Sqoop 導(dǎo)入MySQL 里的模擬數(shù)據(jù)到HDFS。如圖19 所示,說(shuō)明日志數(shù)據(jù)和業(yè)務(wù)導(dǎo)入到了HDFS。數(shù)據(jù)采集模塊運(yùn)行測(cè)試成功。

        圖19 用戶(hù)行為日志數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)成功導(dǎo)入HDFS

        4.2 數(shù)據(jù)倉(cāng)庫(kù)運(yùn)行測(cè)試

        電商數(shù)據(jù)倉(cāng)庫(kù)部署完成后,執(zhí)行編寫(xiě)好的腳本,在HDFS下查看各層次數(shù)據(jù)生成狀況,如圖20所示,說(shuō)明數(shù)據(jù)倉(cāng)庫(kù)各層次數(shù)據(jù)生成成功,數(shù)據(jù)倉(cāng)庫(kù)運(yùn)行測(cè)試成功。

        圖20 數(shù)據(jù)倉(cāng)庫(kù)各個(gè)層次導(dǎo)入結(jié)果

        4.3 數(shù)據(jù)可視化展示

        將ADS 層的數(shù)據(jù)表,在MySQL 里創(chuàng)建相應(yīng)的表,這里使用adsarea_topic 和ads_user_topic這兩張表為樣例。再編寫(xiě)腳本使用Sqoop框架把這兩張表的數(shù)據(jù)從HDFS 導(dǎo)入到MySQL 對(duì)應(yīng)的表里。通過(guò)Superset 進(jìn)行可視化展示,如圖21所示,通過(guò)分析ads_area_topic 來(lái)對(duì)各地區(qū)訂單進(jìn)行可視化展示。

        圖21 各地區(qū)訂單數(shù)

        通過(guò)分析ads_area_topic 并對(duì)全國(guó)各省份訂單進(jìn)行可視化展示。通過(guò)分析ads_user_topic 并對(duì)用戶(hù)日活動(dòng)趨勢(shì)進(jìn)行可視化展示。如圖22 所示,通過(guò)Superset儀表盤(pán)工具,將各個(gè)圖進(jìn)行整合,方便分析數(shù)據(jù),最后進(jìn)行可視化大屏展示。

        圖22 BI可視化大屏展示

        5 結(jié)語(yǔ)

        數(shù)據(jù)倉(cāng)庫(kù)的建立和使用,可以幫助企業(yè)更加深入地了解其業(yè)務(wù)狀況、優(yōu)化運(yùn)營(yíng)流程、提高決策效率和精準(zhǔn)度。為此,本文通過(guò)分析電商行業(yè)的數(shù)據(jù)特點(diǎn)和業(yè)務(wù)需求,提出了基于大數(shù)據(jù)技術(shù)的電商數(shù)據(jù)倉(cāng)庫(kù)可視化設(shè)計(jì)方案,運(yùn)用數(shù)據(jù)倉(cāng)庫(kù)建模、ETL 流程、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)分析等技術(shù),實(shí)現(xiàn)了對(duì)電商數(shù)據(jù)的全方位分析,并利用Hadoop 生態(tài)系統(tǒng)和Hive 等工具,可以處理龐大的數(shù)據(jù),提供更為全面和準(zhǔn)確的數(shù)據(jù)支持,幫助企業(yè)在市場(chǎng)競(jìng)爭(zhēng)中取得優(yōu)勢(shì),對(duì)于電商企業(yè)的決策和管理具有重要意義。

        此外,電商數(shù)倉(cāng)在實(shí)際應(yīng)用中還有一些場(chǎng)景和效果,例如銷(xiāo)售預(yù)測(cè)、用戶(hù)行為分析、流量分析等,為后續(xù)進(jìn)一步研究提出了方向。

        猜你喜歡
        數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)表日志
        一名老黨員的工作日志
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        湖北省新冠肺炎疫情數(shù)據(jù)表
        黨員生活(2020年2期)2020-04-17 09:56:30
        基于數(shù)據(jù)倉(cāng)庫(kù)的住房城鄉(xiāng)建設(shè)信息系統(tǒng)整合研究
        基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
        游學(xué)日志
        分布式存儲(chǔ)系統(tǒng)在液晶面板制造數(shù)據(jù)倉(cāng)庫(kù)中的設(shè)計(jì)
        電子制作(2016年15期)2017-01-15 13:39:15
        探析電力系統(tǒng)調(diào)度中數(shù)據(jù)倉(cāng)庫(kù)技術(shù)的應(yīng)用
        基于數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)分析探索與實(shí)踐
        圖表
        国产精品免费看久久久8| 性感熟妇被我玩弄到高潮| 极品一区二区在线视频观看| 综合色区亚洲熟妇另类| 成在人线av无码免费| 亚洲欧洲日产国码无码av野外| 国产精品亚洲综合久久系列| 久久婷婷五月综合色欧美| 亚洲成a人v欧美综合天堂麻豆| 亚洲欧美国产精品久久久| 日本师生三片在线观看| 丰满的人妻hd高清日本| 97一区二区国产好的精华液| 无码人妻专区一区二区三区| 日韩av一区二区三区精品久久| 射精专区一区二区朝鲜 | 午夜探花在线观看| 亚洲综合原千岁中文字幕| 久久精品女人av一区二区| 亚洲国产精品ⅴa在线观看| 欧美日韩性视频| 国产精品亚洲av无人区二区| 欧美熟妇另类久久久久久多毛 | 亚洲AV无码一区二区水蜜桃| 国产极品大奶在线视频| 无码精品人妻一区二区三区av| 亚洲va在线va天堂va手机| 国产精品一级黄色大片 | 国产又爽又黄又刺激的视频| 伊人22综合| 亚洲无人区乱码中文字幕| 色综合久久久久综合体桃花网| 亚洲av无码一区二区二三区| h动漫尤物视频| 美女视频一区二区三区在线| 成人免费无码大片a毛片软件| 丝袜美女污污免费观看的网站| 伊人狼人大香线蕉手机视频 | 日本a爱视频二区三区| 中文亚洲av片在线观看| 亚洲AV无码秘 蜜桃1区|