標籤:
轉自 :http://www.csdn.net/article/2012-12-20/2813054-Database
無論是在構建大資料的應用程式,還是僅僅只想從開發的行動裝置 App中得到一點點啟發,程式員現在比以往任何時候都需要資料分析工具。這絕對是一個好東西,所以很多公司從程式員的需求和技能出發,構建了一些資料分析工具。GigaOm的記者Derrick Harris列舉了十二個工具,CSDN進行了編譯整理:
在過去的幾年裡,Derrick看到了很多初創公司,各類項目以及開發工具等等,它們都旨在為程式員帶來先進的資料分析能力。有時候,程式員們會使用簡單的指令碼開發出強大的顯示效果,或者在開發過程中使用一種更簡易的方式來實現資料的交付功能,Derrick相信這是一個很有意義的發展趨勢。
在雲端運算和行動裝置 App的世界裡,圍繞一個簡單的應用開創一個新事業已經比以往要容易的多。甚至在大公司,開發人員都在為推銷應用或者推進應用的貨幣化而奮鬥。不過在應用的開發過程中,開發人員可能需要加入一些資料流,這樣才能讓應用“火”起來。
毋庸置疑,大多數程式員的工作都是圍繞著鋪天蓋地的代碼而絕非資料流。所以程式員們可能需要一點點協助,Derrick為開發人員列舉了12種工具(按字母排序),不過他表示也可能會有遺漏一些不錯的選擇,如果細心的讀者發現的話,請在文章評論中留言。
1. BitDeli
BitDeli是今年11月份在舊金山成立的一家初創公司。它能衡量出任何使用Python指令碼的應用程式的指標,聯合創始人兼CEO Ville Tuulos告訴Derrick,指令碼可以很簡單,也可以很複雜——甚至未來可以延伸到機器學習。不過和“重量級選手”Hadoop相比,BitDeli自認為是一個輕量級的Ruby。
2. Continuuity
Continuuity是前Yahoo首席雲架構師Todd Papaioannou和Facebook HBase的工程師Jonathan Gray的心血結晶,Continuuity想讓所有的公司都能像Yahoo、Facebook一樣運營。該團隊建立了一個大資料工具,它可以簡化Hadoop以及HBase叢集的複雜性,而且包含一系列開發套件,旨在協助程式員開發大資料應用,該平台採用Hadoop技術,允許開發人員在防火牆內外對大資料應用軟體進行部署、擴充和管理。公司聯合創始人兼首席執行官Todd Papaioannou表示,作為一家初創企業,Continuuity正在試圖掀起下一波大資料應用軟體的浪潮,公司所提供的工具能夠大大提高處於開發狀態的軟體不同部分與階段的擴充性。
3. Flurry
Flurry是行動裝置 App統計分析領域裡的標杆,正因為在行業內獨特的優勢,它每年的營收高達一億美元。Flurry擁有非常全面的功能,不僅僅只是協助開發人員構建行動裝置 App,它還協助開發人員分析所有的資料,進而產生更大的效益。其實資料也支撐了該公司的廣告網路,他們通過資料分析可以協助開發人員推送準確的廣告到需要的使用者面前。不過單純從行動裝置 App的資料統計功能來看,Flurry絕對是處於領先地位。其功能模組設定合理,分析維度全面,分析流程也易於理解。
4. Google Prediction API
Google Prediction API可能是最酷的工具了!Google Prediction API是一個雲端式服務的機器學習工具,它可以協助開發人員分析資料,並為應用程式加入情感分析、反垃圾郵件、追加銷售分析、識別可疑活動和診斷等功能。 這套API支援眾多程式設計語言,比如.NET、Go 、Java、PHP、Ruby、Python、JavaScript、Objective-C以及應用指令碼語言等。Google的開發人員首頁提供了相關的培訓和開發指南,讀者可以訪問Prediction API介紹頁面進行學習。
5. Infochimps
儘管Infochimps非常努力的想讓自己成為一家企業級的IT公司,但是顯然還有一定的差距。不過與公司同名的平台的確為開發人員們帶來了真正的價值。配置和管理大資料環境的工具稱之為Wukong——這是一個基於Ruby的命令列介面,開發人員可以編寫大資料應用調用Data Delivery Service或Hadoop,使用的文法也非常簡單,開發人員無需學習MapReduce或者Flume。Infochimps的首席戰略官Dhruv Bansal介紹:常見的情況是,客戶用Infochimps的平台開發程式處理分析資料,只有在需要批量分析海量資料時才會用到Hadoop。基於這種經驗,他們的新版本關注的重點是對資料的即時處理功能(而不是Hadoop)。
6. Keen IO
Keen IO贏得了Structure 2012 Launchpad的比賽,該賽事致力於為移動開發人員提供強大的分析工具。開發人員僅需要把一行代碼插入到指定的追蹤位置,該公司同時表示,開發人員可以追蹤他們應用程式中的任意代碼。如果是這樣的話,只需要再建立一個顯示面板或者查詢進程就可以把所有的資料轉化成有用的資訊。
7. Kontagent
Kontagent的基本業務主要是靠對移動、社交以及Web應用的分析平台,不過這一切都是建立在Hadoop基礎設施之上。在今年的早些時候,該公司擴充了一項新業務:使用Hive打造了一個資料採礦服務,並且提供了一個類似SQL的介面進行查詢儲存在Hadoop上的資料,取代了追蹤預定義變數,他們可以對選擇項進行更深入的挖掘。
8. Mortar Data
Mortar Data宣稱“Hadoop,沒有複雜性”。該公司提供了自己的雲端服務——整合了Pig和Python進而取代了MapReduce——已經有一年的時間了。在11月份,它發布了一個開源的Mortar架構旨在構建一個社區,這樣不僅有利於成員之間共用資料集,也讓構建Hadoop管道變得更容易。Mortar Data在AWS之上運行,目前支援來自Amazon S3以及MongoDB(託管在Amazon EC2之上)的資料來源。
9. Placed Analytics
Placed“幹掉”了指令碼、API還有其他需要開發人員“跑腿”的工作,僅僅是交付結果。在Placed的案例中,結果顯示的都是一些細節性資訊,例如在何時何地,使用者使用了行動裝置 App以及Web網站。這種類型的資訊對吸引廣告商非常有協助,同時也有助於應用的設計。
10. Precog
點擊 觀看相關視頻
Precog提供了一項服務Labcoat,它是一個互動開發環境,可以用來編寫基於開源的Quirrel(由Precog實現的統計查詢語言,Quirrel很多方面都與R程式設計語言比較相似)查詢語言的分析工作,該整合式開發環境包含了一個語言學習教程以及一些複雜的函數。Precog的COO告訴Derrick,即使沒有任何編程經驗的人也能在幾個小時內學會操作。
Precog可以從各種資料來源抓取輸入資料,其中包括SQL資料庫、Amazon S3、Hadoop、MongoDB、用戶端Web應用和後端伺服器等。RESTful API支援開發人員從外部源(如Twitter或Facebook)、CSV檔案或行動裝置抓取資料。抓取的資料儲存到一個叫做PrecogDB的定製資料庫中,而且還可以使用人群統計、態度、位置和其他資訊,使資料更為豐富。在一次採訪中,Precog的CEO和創始人John A.De Goes解釋到:“系統的架構與資料庫分析有些相似,比如都包括面向列的儲存。但是其區別在於:前者支援完全異構的、非正常化的資料,通過對Quirrel的支援,相對於使用RDBMS進行分析,使用這種類似於“面向大資料的R”的語言,能夠很方便地執行很多更為進階的計算。”(資訊來源於infoQ)
11. Spring for Apache Hadoop
點擊 觀看視頻
雖然Hadoop是用Java語言編寫,但是對Java開發人員來說,並不意味著容易學習或者使用。在2012年的早些時候,SpringSource宣布把Spring框貢獻給Apache Hadoop項目,這就讓使用Spring架構構建Java應用程式變得更容易,不過這也意味著整合了其他的Spring架構應用,使用了基於JVM的指令碼以及使用Hadoop或者相關的技術如Hive、HBase來進行開發應用程式變得更容易。
12. StatsMix
StatsMix與BitDeli以及Keen IO算得上是一脈相承,StatsMix也是想實現對開發人員使用的程式設計語言進行應用資料的搜集和分析。該服務可以自動追蹤特定的指標,但是需要開發人員添加StatsMix API以及預先確定程式碼程式庫。最終的結果將通過一個使用者自訂的顯示面板呈現出來,使用者不僅可以在其上進行分享,也可以把多個資料來源整合成一張簡單的視圖。(編譯/@CSDN王鵬,審校/仲浩)
程式員想玩轉大資料:需要知曉的12種工具