嘿,我是一個大數據新人。我正在製作一個系統,它將從社交媒體中獲取數據並處理結果,爲此,我使用apache spark。獲取社交媒體數據的最佳方法是什麼?
以下是我的模型的流程:
用戶將使用在PHP做了一個網頁保存所需的關鍵字。
這些關鍵詞我會從社交媒體中獲取數據, 處理數據(例如,情緒和視圖),然後將其提供給最終用戶 。
現在我的困惑是應該如何從社交媒體獲取數據。使用
- 阿帕奇卡夫卡
- 阿帕奇水槽
- 或通過直接調用API twitter4j(只是一個例子)。
雖然我必須學會實現所有三個數據抓取技術,如果我碰巧使用直接api,那麼我可以跳過整個hadoop部分。如果你們可以建議我哪一個更好,那將會很棒。
以上都是我在本地機器上做的。我已經完成了UI部分,現在我正處於需要獲取數據的階段。
謝謝。
感謝您的回覆。我將它作爲一個演示目的的項目,所以即使100年的記錄也會爲我做,而且我知道scala。這就是爲什麼我感到困惑,這將是更好的方式。使用其他API或使用卡夫卡或水槽,是的,我很清楚速度限制。所以我的計劃是獲取一些數據進行測試,當它正常工作時,獲取更多的演示數據。 –
@UmeshKaushik我認爲你仍然感到困惑,所以我會讓它變得晶瑩剔透,請不要冒犯它。一旦達到速率限制,無論在多少容器/執行程序中有多少個線程都無關緊要。對於大多數用途,除非您與Twitter達成協議,否則任何分佈式系統(Hadoop/Spark)都非常過分。 – Mai
@UmeshKaushik假設你在Spark上有10個執行器,每個執行器有4個內核,那麼你將運行40個線程。但是,這將達到與4線程Python腳本在單節點進程中相同的速率限制。那麼爲什麼'小數據'就足夠了'大數據'。 – Mai