大資料實戰專案之二 2 基礎資料結構

2021-09-02 01:13:08 字數 1106 閱讀 5464

這份基礎資料的結構,進行了某些改造和簡化,真實的電商企業中,使用的基礎資料表的結構,絕對是至少是這個表的10倍複雜度以上。

這個基礎資料的結構,不是企業中完全真實的,但是這個是沒有任何問題的。對與我們的學習來說。首先,雖然是做了簡化的表結構,但是也基本是按照真實企業中的表結構來濃縮的;其次,在開發這種大資料平台專案中,其實,使用這個表中提供的這些資料,也就足夠了;最後,其實,按不按公司裡的來,都不重要,到任何企業中,去做類似的專案,可能都不會碰到一樣的表。所以說,用一張簡化後的,但是也相對貼近真實的表結構,重點在於,理解講解的真實的複雜的業務邏輯和spark技術實現流程,還有各種效能調優、troubleshooting、資料傾斜解決等技術的掌握。

最後,在掌握了以上知識以後,出去,做任何大資料專案,其實只是表結果和業務變化了而已,但是只要掌握了技術,你都可以去做。

我們做任何大資料系統/平台類的專案,首先第一步,就是要做資料調研。也就是分析平台要基於的底層的基礎資料。分析表結構,弄清楚表之間的關係。表中的資料的更新粒度,乙個小時更新一次,還是一天更新一次。會不會有髒資料。每天什麼時候資料能夠進來。

task表,其實是用來儲存平台的使用者,通過j2ee系統,提交的基於特定篩選引數的分析任務,的資訊,就會通過j2ee系統儲存到task表中來。之所以使用mysql表,是因為j2ee系統是要實現快速的實時插入和查詢的。

表名:task(mysql表)

task_id:表的主鍵

task_name:任務名稱

create_time:建立時間

start_time:開始執行的時間

finish_time:結束執行的時間

task_type:任務型別,就是說,在一套大資料平台中,肯定會有各種不同型別的統計分析任務,比如說使用者訪問session分析任務,頁面單跳轉化率統計任務;所以這個欄位就標識了每個任務的型別

task_status:任務狀態,任務對應的就是一次spark作業的執行,這裡就標識了,spark作業是新建,還沒執行,還是正在執行,還是已經執行完畢

task_param:最最重要,用來使用json的格式,來封裝使用者提交的任務對應的特殊的篩選引數

大資料實戰 Hive 技巧實戰

select address from test where dt 20210218 union all select address from test where dt 20210218 address m a m a m b m b m b m b select address from te...

大資料實戰 pyspark使用

解壓 tar xvf python 3.6.3.tgz原始碼編譯安裝python3 yum install zlib devel bzip2 devel openssl devel ncurses devel sqlite devel readline devel tk devel gcc make...

大資料實戰(下) 搭建hadoop2 HA

hadoop1.x 兩大核心hdfs mapredure,這兩個都存在乙個單點問題。hadoop2.0的ha 機制有兩個namenode,乙個是active namenode,狀態是active 另外乙個是standby namenode,狀態是standby。兩者的狀態是可以切換的,但不能同時兩個...