我需要將客戶數據從幾個內部數據庫同步到雲中。第二步,客戶數據需要進行一些清理以刪除(不同類型的)重複項。根據清理的數據,我需要做一些數據分析。需要架構提示:數據複製到雲端+數據清理
爲了實現這一目標,我正在尋找一種可用於開放源代碼的框架或雲解決方案。我看了一下Apache Apex和Apache Kafka,但我不確定這些解決方案是否正確。
你能給我一個暗示你將用於這樣一個任務的框架嗎?
我需要將客戶數據從幾個內部數據庫同步到雲中。第二步,客戶數據需要進行一些清理以刪除(不同類型的)重複項。根據清理的數據,我需要做一些數據分析。需要架構提示:數據複製到雲端+數據清理
爲了實現這一目標,我正在尋找一種可用於開放源代碼的框架或雲解決方案。我看了一下Apache Apex和Apache Kafka,但我不確定這些解決方案是否正確。
你能給我一個暗示你將用於這樣一個任務的框架嗎?
從我在APEX上的快速閱讀來看,它需要耦合下的Hadoop到更多的依賴關係,而不是你很可能想要的。
卡夫卡另一方面用於傳輸消息(它有其他的API,如流和連接,我不熟悉)。
我目前使用Kafka從客戶端系統實時流日誌文件。開箱即用的Kafka確實只能提供消息並忘記語義。我必須添加一點才能使其成爲一次傳送語義(Kafka 0.11.0應解決此問題)。總之,想到KAFKA是一個更低層次的解決方案,它帶有邏輯消息域和隊列,以及我在APEX上瀏覽的東西,它是一個更重的打包庫,還有更多的東西需要探索。
卡夫卡將允許你用他們的消費者API來切換你選擇的底層分析系統。
這個問題非常普遍,但我會嘗試概述一些不同的場景,因爲這裏有很多參數。其中之一就是成本,在雲上它可以快速建立起來。當然,數據的大小也很重要。
這幾件事情你應該考慮:
所以,當你思考所有這些問題時,如果你不確定,我建議你用一個有彈性的解決方案開始你的雲計算工作,也就是說,隨着你付出還是設置整個集羣在雲上,這可能很快變得昂貴。
您可以快速啓動的一種雲解決方案是亞馬遜雅典娜(https://aws.amazon.com/athena/)。您可以在S3中轉儲數據,由Athena讀取數據,並且您只需爲每個查詢付費,這樣在您不使用時就不需要付費。它基於Apache Presto,因此您可以使用基本的SQL編寫整個系統。
否則,您可以使用Elastic Mapreduce與Hive(http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive.html)。或火花(http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark.html)。這取決於你最喜歡的語言/技術。此外,還有谷歌(BigData等)和微軟(Azure)的類似產品。
是的,你可以在你的用例中使用Apache Apex。 Apache Apex受Apache Malhar支持,它可以幫助您快速構建應用程序,以便使用JDBC輸入運算符加載數據,然後將其存儲到您的雲存儲(可能是S3),或者您可以在將其存儲到任何接收器之前進行重複數據刪除。它還支持Dedup操作員進行此類操作。但正如在前面的回覆中提到的,Apex確實需要Hadoop才能正常工作。