2012-02-24 45 views
5

我正在使用Twitter數據開展社區檢測項目,我需要根據關係創建網絡。我收集並過濾了200,000個UID。我的下一步是在他們之間建立一個朋友/追隨者網絡。有更好的方法來收集Twitter數據嗎?

我正在使用Ruby腳本和Twitter Gem來收集,處理和存儲數據。爲了克服API調用限制,我使用Apigee代理,因此現在沒有速率限制的問題。

的呼籲得到兩個的UID之間的關係狀態是:https://dev.twitter.com/docs/api/1/get/friendships/show

我需要加快收集數據的過程。目前我有很多腳本在我的終端中同時運行。我發現這種方法很難管理和擴展。有沒有更快,更高效和更易於管理的方法來做同樣的事情?或者我缺少一種完全不同的,更好的方法嗎?

+0

如果1個回答沒有幫助,考慮添加關於爲什麼你認爲它是太長的信息。如果您有一堆運行simul的腳本,則作業控制工具或主腳本可能是合適的。鑑於您的項目的網絡編程方面,我本以爲會有紅寶石來幫助解決這個問題。你在這方面的表現有多深。縮放可能意味着您需要查看GNU並行,Amazon Elastic Cloud或其他。此外,像Hadoop這樣的大規模數據處理工具(幾乎可以肯定需要在java或??中進行自定義編碼)。祝你好運。 – shellter 2012-02-24 22:18:40

+0

從查看你包含的dev.twitter鏈接,json文檔,看起來已經成熟,可以加載到MongoDB中。 (這來自MongoDB in Action第4章(曼寧出版社,從屬關係)的一個人。)。本書包含一個從twitter直接向數據庫檢索數據的示例。所以可能值得一看。祝你好運。 – shellter 2012-02-24 22:24:08

+0

作業控制工具或主腳本是我正在看的。對於這些的任何建議?編程語言的改變也會導致速度的顯着提高嗎? – s2n 2012-02-25 14:13:20

回答

0

有一件事我能想到的是使用EC2實例和部署腳本,你可以得到最大的實例,並使用它的幾個小時。一個好處是你有更強大的實例和更快的互聯網連接。

而且如果您只是收集公共數據,這意味着您不必通過OAuth進行身份驗證(請糾正我,如果我錯了),我會使用Perl腳本或Python比Ruby更快。

0

爲什麼不使用logstash來收集數據。 Logstash爲您提供了很多選項來發送數據,以便您可以輕鬆地對其進行過濾。在將它發送到輸出之前,您甚至可以通過logstash過濾所有數據。可用的輸出選項是Elasticsearch(用於實時搜索,分析和可視化),數據庫(mysql,MSSQL等)等等。

Logstash - https://www.elastic.co/products/logstash

Twitter的Logstash插件 - https://www.elastic.co/guide/en/logstash/current/plugins-inputs-twitter.html

相關問題