為了解大數據的當前和未來(lái)狀態(tài),我們采訪(fǎng)了來(lái)自28個(gè)組織的31位IT技術(shù)主管。我們問(wèn)他們,“你在數據提取,分析和報告中使用的最流行的語(yǔ)言,工具和框架是什么?” 以下的文章是他們告訴我們的記錄,經(jīng)過(guò)總結如下。
Python,Spark,Kafka
隨著(zhù)大數據和對人工智能AL/機器學(xué)習 ML 的推動(dòng),Scala和Python語(yǔ)言以及Apache Spark中越來(lái)越受歡迎。
對OLAP數據倉庫的遷移,如果用 Python開(kāi)發(fā)機器學(xué)習使用較少的結構。開(kāi)發(fā)者編寫(xiě)Python ML模型非常方便,Python有擴展庫提供支持。
Kafka用于流式提取,R和Python用于編程開(kāi)發(fā),當然Java很普遍。SQL還不會(huì )消失,但它不是大數據最好的朋友,但是它的開(kāi)放性讓更多的人可以訪(fǎng)問(wèn)數據,Gartner讓Hadoop上的SQL走出了幻滅之低谷。
我們看到很多數據倉庫的相關(guān)技術(shù),如Hadoop,Spark和Kafka等新興技術(shù),很多人還對Redshift,Snowflake和Big Query非常感興趣。
ML機器學(xué)習技術(shù)棧,增加了TensorFlow的強大工具讓人增加對其學(xué)習的信心,減小了學(xué)習曲線(xiàn)。
第三個(gè)是Kubernetes,也聚集了大量的愛(ài)好者,并在逐步擴大用戶(hù)領(lǐng)域。
還有其他開(kāi)源工具被廣泛使用,例如Spark,R和Python,這就是平臺提供與這些開(kāi)源工具集成的原因。
在大數據工作流程中,可以引入一個(gè)新節點(diǎn)用Python,R或Spark開(kāi)發(fā)代碼腳本。在執行時(shí),節點(diǎn)將執行代碼成為工作流中節點(diǎn)管道的一部分。
在之前一段時(shí)間,R語(yǔ)言曾占據主導地位,特別是在數據科學(xué)運作模型中?,F在真正的技術(shù)創(chuàng )新是圍繞Python,因為Python有許多工具、庫的支持。
接著(zhù)人們開(kāi)始探索Spark和Kafka。Spark以極快的速度處理大量磁盤(pán)卷。Kafka是一個(gè)用于將數據傳輸到Spark的消息傳遞系統,R這個(gè)語(yǔ)言非常適合分析歷史數據,獲取模型和獲取實(shí)時(shí)數據,并幫助數據分組,以便實(shí)時(shí)運行并應用模型。
一些常見(jiàn)的工具和框架還包括內存關(guān)系數據庫,如VoltDB,Spark,Storm,Flink,Kafka 和 一些NoSQL數據庫。
我們?yōu)樗蠧RUD數據操作提供LINQ類(lèi)型的API,可以供各種語(yǔ)言調用,例如C#,Go,Java,JavaScript,Python,Ruby,PHP,Scala和Swift語(yǔ)言。因為設計的是高性能(可預測的低延遲)數據庫,我們的主要為數據訪(fǎng)問(wèn)創(chuàng )建為編程而不是聲明,因此目前并不支持SQL。
當客戶(hù)要分析他們當前正在執行的工作時(shí),我們再添加SQL支持,我們支持將數據導出到后端數據倉庫和數據池以進(jìn)行分析。對于數據抽取,Kafka和Kinesis等工具作為客戶(hù)中的默認數據的通信管道也越來(lái)越獲得關(guān)注。
我們將SQL視作為各種規模公司使用平臺中數據的主要協(xié)議。對于集群的部署管理,我們看到Docker和Kubernetes的應用在迅速增長(cháng)。對于數據抽取,Apache Kafka被我們的許多用戶(hù)使用,我們最近在Confluent合作伙伴計劃中取得了Kafka Connector的認證。為了更好的處理分析,我們經(jīng)常將Apache Spark與Apache Ignite一起并用作為內存數據存儲。
事實(shí)上Apache Kafka已經(jīng)成為一種標準,可以在提取近乎實(shí)時(shí)的大批量數據(尤其是傳感器數據),以流式傳輸到數據分析平臺。為了獲得最高的分析性能,數據庫內機器學(xué)習和高級分析正成為組織大規模提供預測分析的一種極重要的方式。
對于可視化報表,目前市面上有各種各樣的數據可視化工具:從Tableau到Looker,從Microsoft Power BI到IBM Cognos再到MicroStrategy等等。業(yè)務(wù)分析師從未有過(guò)這么多選擇來(lái)實(shí)現可視化數據報表。他們肯定會(huì )這樣肯定,他們的基礎數據分析平臺如今已經(jīng)具有大規模和高性能,讓他們能夠在幾秒或幾分鐘內完全準確地從最大數據中獲得洞察力,
我們利用多種數據提取和索引工具,使用 Apache Kafka和NIFI項目目前最為普遍。
我們將 Hadoop YARN與HBASE/HDFS用于數據持久層,然后用于數據處理、預測建模、分析和深度學(xué)習項目,如Apache Zeppelin,Spark/Spark Streaming,Storm,SciKit-Learn和Elasticsearch這些開(kāi)源項目,我們還可利用Talend,Pentaho,Tableau和其他優(yōu)秀的商業(yè)化軟件或工具。
TensorFlow,Tableau,PowerBI
1)我們使用Amazon Athena(Apache Presto)進(jìn)行日志分析。
2)我們使用Mode Analytics進(jìn)行數據可視化和報告。
3)我們使用TensorFlow來(lái)分析流量模式。
從ML角度看數據科學(xué),DL框架的可用性,TensorFlow,Pytorch,Keras,Caffe在應用ML和為大規模數據創(chuàng )建模型方面做出了很大的創(chuàng )新。
BI用例正試圖擴大分析師的數據規模,Tableau,PowerBI,MicroStrategy,TIBCO和Qlik試圖擴大數據儀表盤(pán)面前的人數和角色。
隨著(zhù)技術(shù)團隊正在逐漸遠離MapReduce,我們看到 Spark。Java和Python越來(lái)越受歡迎。Kafka被用來(lái)抽取數據,可視化的Visual Arcadia Data,Tableau,Qlik和PowerBI來(lái)生成報表。
許多項目使用多種語(yǔ)言和多個(gè)分析工具。當然,我們也能看到很多SQL的使用場(chǎng)景以及面向數據科學(xué)的語(yǔ)言,如Python和R語(yǔ)言,但也是Java和C#等經(jīng)典編程語(yǔ)言的發(fā)揮之處。對于數據科學(xué),我們有頂級工具包TensorFlow,緊隨其后的是自助式BI工具,如Tableau,PowerBI和ClickView。
其它
開(kāi)源的世界。更多人正在轉向流數據數據,這是由對實(shí)時(shí)答案的需求來(lái)驅動(dòng)而來(lái)。
當然這取決于特定的項目,我們看到多種機制被用于抽取,富文本,文檔分類(lèi)器,SciByte,數據本體,智能標簽工具,深入研究數據。個(gè)性化推薦與見(jiàn)解、情感分析等豐富了大數據。
客戶(hù)從瀏覽器中查找要使用的內容,或正在尋找如何構建自己的工具,SQL語(yǔ)言仍然是大數據的語(yǔ)言,它可以在在Hadoop和其他數據庫之上正常工作。
OData并不是那么新,人們正在從服務(wù)器端和客戶(hù)端進(jìn)一步使用它,還有一些人在使用GraphQL來(lái)動(dòng)態(tài)查詢(xún)和獲取數據。
服務(wù)器端編程也有很多新技術(shù),比如 MongoDB做得很好,Redis適合緩存。AWS S3對于使用Elasticsearch和S3作為后端的數據存儲非常有用,當然明確已經(jīng)確定的技術(shù)與設計模式。
使用R和Python的人會(huì )堅持使用他們熟悉的東西,大數據系統中有許多API提供了很多支持。從數據抽取的角度來(lái)看,人們希望提供盡可能多的方法來(lái)處理數據輸入和輸出,能夠支持盡可能多的工具,這不是臨界質(zhì)量。迎合人才,開(kāi)發(fā)人員工具和API支持的兩方需求。
大公司希望人們使用相同的BI和數據科學(xué)工具,因為他們有各種工具,在數千人在一個(gè)工具上做標準化并與不同后端集成并加速數據生產(chǎn)的方式,包括提供數據的集成、加速和目錄以及數據語(yǔ)義等定義。數據目錄位于平臺的中心位置,將安全性,集成和加速功能集中到一個(gè)可與全部工具和數據源配合使用的中心開(kāi)源層。
大數據世界在很多方面會(huì )很快地發(fā)展到所有的開(kāi)發(fā)環(huán)境,包括內部部署,云計算等等。我們看到了很多語(yǔ)言,執行引擎和數據格式發(fā)生了變化。大數據的核心價(jià)值是允許客戶(hù)繞過(guò)這些不同的工具和標準,使用拖放或我們提供的代碼環(huán)境,可能無(wú)需手動(dòng)編寫(xiě)任何代碼,輕松將數據管道作為可重復框架的一部分,無(wú)論采用何種技術(shù),平臺或語(yǔ)言都 能進(jìn)行大規模部署。
聯(lián)系客服