opensource4you / astraea

釋放kafka的無限潛能
Apache License 2.0
125 stars 45 forks source link

Astraea ETL #679

Open wycccccc opened 1 year ago

wycccccc commented 1 year ago

這個issue將被用做記錄kafka-spark-delta ETL進度,我將大致會將其切成四個部分逐一完成,每個部分我再根據工作量切成小的pr進行完成:

chia7712 commented 1 year ago

可否也把一些細節試著寫上去,雖然我心裡知道要做啥,但基本上還是一個開源專案,要試著讓其他人可以跟得上

wycccccc commented 1 year ago

我稍微做了一些補充,比較工整的版本,可能等我做到的時候,我心裡才知道要做啥。到時候我再補充修改。

wycccccc commented 1 year ago

有一個問題想要詢問一下學長,spark test是否需要啟動standalone進行測試。 val (rpcEnv, _, _) = startRpcEnvAndEndpoint(args.host, args.port, args.webUiPort, conf) 該方法應該是被用來啟動spark master的,但是該方法被private[]住了,我無法在我們的專案中調取他。 想說是有其他的方法用來創建standalone叢集嗎。

chia7712 commented 1 year ago

spark test是否需要啟動standalone進行測試。

我們先盡量以 unit test 來做驗證,等到一個階段我們再來整 integrated test

wycccccc commented 1 year ago

追加問題,關於spark讀取到數據後需要對他們做些什麼嗎。我看kafka2delta里是將其轉換成了deltaTable,再將其與一些timestamp meger到一起。Astraea ETL是否也需要這麼做。

chia7712 commented 1 year ago

我看kafka2delta里是將其轉換成了deltaTable,再將其與一些timestamp meger到一起。Astraea ETL是否也需要這麼做。

delta io 那段是後面要做的事情,也就是第一屆段我們先把csv資料能透過spark streaming 寫到 kafka後,第二階段就是要將kayak topic 裡的資料也透過 spark streaming 寫成 delta table 的格式

另外 ETL 過程中通常不會是只有單純的資料轉換,有時候會希望能做一些預先處理,kafka2delta裡面就有一些預先處理的邏輯,但那個是很綁定用途,並不會每一種資料的預先處理方式都一樣,因此在第一階段我們先不考慮那個,把兩個階段都串通後再來考慮一些擴充用途

wycccccc commented 1 year ago

學長,那個etl的測試資料我拿你給我的10GB檔案處理一下,然後丟進去可以嗎

chia7712 commented 1 year ago

學長,那個etl的測試資料我拿你給我的10GB檔案處理一下,然後丟進去可以嗎

可以喔,如果是要開始弄報告的話,可以先跑單機的數據,確認至少跑得起來,然後先把報告弄一個版本,之後再來弄分散式的版本