系統(tǒng)安裝
1. 安裝jdk

2. 安裝hadoop

3.安裝mysql

4.安裝hive

5.安裝scala-2.11.12

6.安裝presto

把presto-client的jar改為命令文件
7.安裝spark-2.4.7-for-scala-2.11

(注意對(duì)應(yīng)的scala版本以及hadoop版本以及hdfs系統(tǒng)的文件權(quán)限問(wèn)題)

8.安裝flink-1.11.3--for-scala-2.11

9.在windows測(cè)試虛擬機(jī)的hadoop開(kāi)發(fā)
測(cè)試spark:


測(cè)試flink:


10.基于Maven開(kāi)發(fā),導(dǎo)入delta lake框架開(kāi)發(fā)測(cè)試
11.從kaggle下載一些超市的數(shù)據(jù)集合,包裹一些會(huì)員信息,訂單小票,庫(kù)存信息以及用戶(hù)行為等。
不同的數(shù)據(jù)表格可能來(lái)自不同的源,為了使數(shù)據(jù)有關(guān)聯(lián)度,我有進(jìn)行一定的預(yù)處理


12.把數(shù)據(jù)錄入到數(shù)據(jù)庫(kù)


一般來(lái)說(shuō),業(yè)務(wù)數(shù)據(jù)的來(lái)源不應(yīng)該是這樣的,由于模擬需要,所以先這樣準(zhǔn)備數(shù)據(jù),datagrip軟件提供把csv格式文件導(dǎo)入數(shù)據(jù)庫(kù)相關(guān)表格的功能,我也有編寫(xiě)具體代碼模擬數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫(kù)的過(guò)程
13.以delta lake的方式打開(kāi)spark

spark一般會(huì)有一個(gè)對(duì)應(yīng)的delta lake版本在自己的包內(nèi),但我用比較新的delta lake版本,這里交互式進(jìn)入成功,實(shí)際上對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),交互式已經(jīng)是很好的處理數(shù)據(jù)手段,但接下來(lái)仍嘗試編寫(xiě)代碼對(duì)數(shù)據(jù)進(jìn)行操作,時(shí)間充裕的話(huà)嘗試做有一定交互能力的界面
14.編寫(xiě)代碼進(jìn)行數(shù)據(jù)遷移,市面上較為常用的數(shù)據(jù)遷移方式主要是dataX或者用squoop數(shù)據(jù)遷移到hdfs,我這里直接用框架讀取數(shù)據(jù)庫(kù)內(nèi)容,模擬分庫(kù)的場(chǎng)景讀取


15.連接到spark集群

spark貌似對(duì)ip地址和主機(jī)名稱(chēng)有很高的區(qū)分度,配置spark-env.sh時(shí)要小心處理,否則會(huì)拒絕連接
16.hdfs下創(chuàng)建/tmp/spark-events文件夾,充當(dāng)事件日志文件夾
17.把delta lake和iceberg的jar包下載并放到spark的jars文件夾內(nèi)
18.編寫(xiě)代碼把相關(guān)數(shù)據(jù)源的表格同步到數(shù)據(jù)湖

(以下未完成,后續(xù)打算完善的程度)
19.不同表格之間的增刪查改以及join操作
20.嘗試做一些批量數(shù)據(jù)的定時(shí)任務(wù)或者用flink做一些流式數(shù)據(jù)的處理
21.用輸出的表格做一些簡(jiǎn)單的可視化