大數據之spark大型電商平臺分析平臺(一)--項目前言

電商分析平臺

該項目是我根據尚硅谷大數據電商分析平臺視頻做的筆記,總共分成了大概十個需求,每個需求我都用一篇文章來解析

項目文章目錄:

項目搭建及,commons模塊解析,離線實時數據準備

項目需求解析

需求一:各個範圍Session步長、訪問時長佔比統計

需求二:按照比列隨機抽取session

需求三:熱門top10商品

需求四:Top10熱門品類的Top10活躍Session統計

需求五:計算給定的頁面訪問流的頁面單跳轉化率

需求六:實時統計之黑名單機制

需求七,九前置知識

需求七:實時統計之各省各城市廣告點擊量實時統計

需求八:實時統計之各省份廣告top3排名

需求九:實時統計之最近一小時廣告點擊量實時統計

需求十:總結

項目整體概述

課程簡介

本課程是一套完整的企業級電商大數據分析系統,在當下最爲熱門的Spark生態體系基礎上構建企業級數據分析平臺,本系統包括離線分析系統與實時分析系統,技術棧涵蓋Spark Core,Spark SQL,Spark Streaming與Spark性能調優,並在課程中穿插Spark內核原理與面試要點,能夠讓學員在實戰中全面掌握Spark生態體系的核心技術框架。
本課程內容豐富,所有需求均來自於企業內部,對於每一個具體需求,講師全部採用文字與圖片相結合的講解方式,從零實現每一個需求代碼並對代碼進行逐行解析,讓學員知其然並知其所以然,通過本課程,能夠讓你對Spark技術框架的理解達到新的高度。

如何學習?

  • 到github下載源碼(順便給個start噢!)
    地址:spark-shopAnalyze

  • 根據目錄中第一篇文章,理解commons模塊和mock模塊的作用,並跟着文章創建一個maven工程!!!這個是很重要的,

  • 根據目錄中第二篇文章,理解需求的大概內容,

  • 跟着目錄順序,理解每個需求的大致內容,然後一定要自己手打一遍

  • 每做完一個需求,總結該需求所學

  • 遇到不會的算子自查百度

所用技術框架

  • spark(spark-sql,spark-streaming-spark-sql)
  • hive
  • kafka
  • mysql
  • hadoop-hdfs

所需環境

  • hadoop

本人是利用virtualBox搭建了hadoop的完全分佈式環境如果你還沒有hadoop環境,可以參考下面兩篇文章:

【超詳細】最新Windows下安裝Virtual Box後安裝CentOS7並設置雙網卡實現宿主機與虛擬機互相訪問
【超詳細】最新VirtualBox+CentOS7+Hadoop2.8.5手把手搭建完全分佈式Hadoop集羣(從小白逐步進階)

  • IDEA scala,spark開發環境

如何用Idea運行我們的Spark項目

  • sparkStreaming與kafka的整合

Spark Streaming整合Kafka

主要功能
主要分爲離線統計和實時統計兩部分,共分十個需求,每個需求一篇文章進行詳解,保證能看的懂
在這裏插入圖片描述

你能學到什麼?

  • 整合hadoop-hdfs,kafka,spark,spark-sql,spark-streaming,hive等大數據常用框架,對所學知識起到梳理作用
  • 對spark的各個算子,以及spark-sql,spark-streaming深入理解.這個教程主要的核心框架就是spark
  • 知道常見的大數據計算模式,懂得如何對計算需求進行分析,逆推,並且做到活學活用

項目模塊分析

項目目錄:

在這裏插入圖片描述
commons模塊

commons主要用於一些配置讀取,對象連接池獲取,代碼規範等

在這裏插入圖片描述

mock模塊

  • mock模塊主要用於模擬數據的獲取,
  • MockDataGenerate用於產生離線的數據,你可以選擇保存到hadoop中,亦或者保存到hive中.如果你還沒學過hive,那就保存到hadoop
  • MockRealTimeData用於產生實時數據,並通過kafka將數據發送到sparkStreaming,以便統計實時的數據

在這裏插入圖片描述
sesion模塊

  • sesion模塊是離線數據統計的模塊
  • 其中sessionStat是主函數所在處
  • server目錄下的各個server是各個需求的代碼處,會通過主函數sessionStat進行引用
  • sessionAccumulator是自定義的累加器
  • SortKey是自定義排序器

在這裏插入圖片描述

adverStat模塊

  • advertStat是主函數所在
  • 因爲實時部分的需求是上下相互關聯的,所以都在一個主函數中進行調用
  • jdbcHelper,可視爲java中的dao層

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章