1
現在,在我當前的體系結構中,我有一個模塊,負責向Cassandra寫入/讀取數據以及負責下載數據的模塊。最近我開始使用Datastax和Spark。我想對新獲取的數據進行一些轉換。這個問題有什麼正確的做法?我是否使用我的模塊來存儲數據並分別進行Spark計算,或者使用Spark Streaming將下載的數據直接發送到Spark,並將原始數據和轉換後的數據保存到Cassandra中?我正在操作股票報價,因此大量數據不斷下載並進行了大量轉換。使用Spark將數據保存到Cassandra
從不同的儲存器下載數據的模塊在將數據進一步發送之前統一數據,所以這不是問題。我只關心Spark作爲管理數據存儲的模塊。它簡化了體系結構,因爲用於數據管理的模塊將是多餘的,因爲Spark將執行保存,轉換以及通過SparkSQL進行讀取。我的問題是如果它打算做這一切? –
@PawełSzychiewicz,如果您決定將下載和處理的數據存儲在不同的位置,如aws s3,它會變得複雜。 您需要從火花吐出的已處理數據中分離出您下載的原始數據。他們完全不同。 我建議有一個模塊來下載和存儲數據, 一個統一數據的模塊和一個模塊來處理數據。 使用這種設置可以很容易地維護每個部分,並且在將來如果您決定更改某些內容,則可以非常容易地重播所有歷史數據並運行它,然後再次拋出管道 – Urban48