日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

常用的数据分析软件和工具有哪些?

發(fā)布時間:2024/5/24 综合教程 52 生活家
生活随笔 收集整理的這篇文章主要介紹了 常用的数据分析软件和工具有哪些? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

一、基礎(chǔ)軟件:Excel、SQL

二、BI軟件:

①傳統(tǒng)BI軟件:SAPBO、IBMCognos、OracleBIEE
②敏捷BI軟件:Tableau、PowerBI、FineBI

三、統(tǒng)計分析軟件:MATLAB、SPSS、Stata、SAS、EViews

四、數(shù)據(jù)分析編程語言:Python、R語言

五、大數(shù)據(jù)分析框架

①批處理:MapReduce、Spark
②流處理:SparkStreaming、Flink
③交互式處理:Hive、SparkSQL

一、基礎(chǔ)軟件:

Excel

Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統(tǒng)的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數(shù)據(jù)處理軟件。在1993年,作為Microsoft Office的組件發(fā)布了5.0版之后,Excel就開始成為所適用操作平臺上的電子制表軟件的霸主。

Excel的功能很強大,能做的事情很多,不僅僅可以做數(shù)據(jù)存儲和制作工作表,與數(shù)據(jù)分析有關(guān)的功能還有這些:

各種處理數(shù)據(jù)的函數(shù)
條件格式
數(shù)據(jù)圖表
外部圖表
分類匯總
數(shù)據(jù)透視表/數(shù)據(jù)透視圖
VBA編程
……

SQL

結(jié)構(gòu)化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。

結(jié)構(gòu)化查詢語言是高級的非過程化編程語言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng), 可以使用相同的結(jié)構(gòu)化查詢語言作為數(shù)據(jù)輸入與管理的接口。結(jié)構(gòu)化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。

我們做數(shù)據(jù)分析工作時,多數(shù)數(shù)據(jù)來源于信息系統(tǒng)后臺的數(shù)據(jù)庫,SQL非常方便我們訪問和查詢數(shù)據(jù)庫。我們做數(shù)據(jù)分析工作時,多數(shù)數(shù)據(jù)來源于數(shù)據(jù)庫,SQL非常方便我們訪問和查詢數(shù)據(jù)庫。

二、BI軟件:

①傳統(tǒng)BI軟件:

SAPBO

SAP BusinessObjects Business Intelligence是用于數(shù)據(jù)報告,可視化和共享的集中式套件。作為SAP業(yè)務(wù)技術(shù)平臺的本地BI層,它將數(shù)據(jù)轉(zhuǎn)換為有用的見解,可隨時隨地使用。

隨著大數(shù)據(jù)時代的來臨,BI分析工具也熱火朝天的發(fā)展起來。由于一直在做SAP的BI產(chǎn)品,所以主要圍繞著SAP BO提供的報表工具做一個簡單的選型介紹。

目前SAP BO提供了下列組件供我們選擇:

BIP:稱為BOE平臺,作為核心的BO組件,為我們提供了門戶支持(LaunchPad,支持瀏覽器、Mobile App),報表開發(fā)平臺(Workspace),語義層連接(OLAP等連接)等功能。

Crystal Report:固定格式報表,財務(wù)三大表的優(yōu)秀載體,但是不支持即席查詢。

Web Intelligence:分析型報表,支持多維分析,可以進行簡單的數(shù)據(jù)挖掘,與Excel良好集成,不過打印功能一直是個缺陷。

Dashboard:水晶易表,可以做管理駕駛艙、核心KPI預(yù)警等,以數(shù)據(jù)可視化為主要目的,更直觀的展示數(shù)據(jù)。

Explorer:功能更多偏向數(shù)據(jù)探索,對現(xiàn)有數(shù)據(jù)進行簡單分析、研究,并對部分關(guān)注的指標(biāo)進行對比,以便發(fā)現(xiàn)不同指標(biāo)間的聯(lián)系,指導(dǎo)管理決策。

BI Mobile:兩款Mobile客戶端,SAP BusinessObjects Mobile & SAP BusinessObjects Explorer,分別對應(yīng)了不同的報表工具,IOS系統(tǒng)可以直接在AppStore中下載使用,具體功能不多說了。

Analysis:類似Explorer,MSOffice版本的與Excel優(yōu)秀集成,可以從BW的模型、Query,BO的Universe、報表等對象中拉取數(shù)據(jù)做分析,對比數(shù)據(jù)非常方便。

Visual Intelligence:新的一款數(shù)據(jù)可視化工具,目前已經(jīng)改名為Lumira,對HANA有著優(yōu)秀的集成能力,輕松查看HANA的分析結(jié)果。

IBMCognos

Cognos是在BI核心平臺之上,以服務(wù)為導(dǎo)向進行架構(gòu)的一種數(shù)據(jù)模型,是唯一可以通過單一產(chǎn)品和在單一可靠架構(gòu)上提供完整業(yè)務(wù)智能功能的解決方案。它可以提供無縫密合的報表、分析、記分卡、儀表盤等解決方案,通過提供所有的系統(tǒng)和資料資源,以簡化公司各員工處理資訊的方法。作為一個全面、靈活的產(chǎn)品,Cognos業(yè)務(wù)智能解決方案可以容易地整合到現(xiàn)有的多系統(tǒng)和數(shù)據(jù)源架構(gòu)中。

Cognos是世界上最大的業(yè)務(wù)智能軟件制造商,它能夠幫助用戶提取公司數(shù)據(jù),然后分析并匯總得出報告。Cognos有許多產(chǎn)品,但最為著名的還是它的PowerPlay聯(lián)機分析處理(online analytical processing,OLAP)工具,以及Impromptu報告和查詢語言工具、Axiant客戶/服務(wù)器開發(fā)系統(tǒng)。在20世紀(jì)70年代晚期的midrange系統(tǒng)中,Cognos公司的PowerHouse 4GL(第四代語言)初次亮相。

Cognos提供與IBM DB2,Microsoft SQL Server和NCR Teradata的整合數(shù)據(jù)庫軟件。公司同樣與企業(yè)資源計劃(Enterprise Resource Planning,ERP)供應(yīng)商有合作,如SAP、J.D. Edwards、Oracle、 PeopleSoft和Baan。Cognos最近的發(fā)展方向是提供更多的基于互聯(lián)網(wǎng)的軟件版本,以及為無線設(shè)備提供解決方案。

大模塊來看, Cognos產(chǎn)品組件只有三個:

Cognos Powerplay Transformation Server:負(fù)責(zé)將數(shù)據(jù)源變成數(shù)據(jù)立方體;
Cognos Powerplay Enterprise Server:負(fù)責(zé)將數(shù)據(jù)立方體以O(shè)LAP分析、OLAP報表等方式展現(xiàn)出來;
Cognos ReportNet Server:負(fù)責(zé)實現(xiàn)基于數(shù)據(jù)庫的數(shù)據(jù)查詢、報表制作、儀表盤制作、報表/儀表盤展示等等;

OracleBIEE

Oracle BIEE(簡稱BIEE)作為Oracle的新的商業(yè)智能平臺企業(yè)版,起源于Oracle所收購的Siebel公司,BIEE原來叫做Siebel Analytic。

Oracle BIEE是一個非常有創(chuàng)造力的工具,它對于物理層,邏輯層,展現(xiàn)層的理解和定義創(chuàng)造了一個非常簡潔而清晰的數(shù)據(jù)模型,使用這個數(shù)據(jù)模型可以完整地連接企業(yè)內(nèi)各個異構(gòu)數(shù)據(jù)源,從而使商業(yè)智能真正能夠在企業(yè)范圍內(nèi)得到大規(guī)模部署和使用。

BIEE:Oracle Business Intelligence Enterprise Edition Oracle在05年底收購Siebel,取其前端開發(fā)工具Siebel Analytics作為Oracle BI的新平臺。區(qū)別原Discoverer起見,稱為Enterprise Edition,而原來的Discoverer就變成了Standard Edition了。二者各取部分結(jié)合,加個xe,于是又有所謂的Standards Edition One.這就是OBIEE、OBISE和OBISE ONE的簡單緣起。 07年Oracle收了Hyperion,于是取Hyperion BI的部分組件,合并升級為現(xiàn)在的OBI EE Plus。

BIEE的數(shù)據(jù)模型分為3層:

1、 物理層Physical,用于定義和連接各類異構(gòu)數(shù)據(jù)源,型數(shù)據(jù)庫、符合XML規(guī)范的源數(shù)據(jù)、OLAP服務(wù)、Essbase、Excel等,具體定義數(shù)據(jù)源物理表結(jié)構(gòu)、字段數(shù)據(jù)類型、主外鍵。可簡單理解為“物理表定義”。值得一提的是,BIEE只是保存定義,并沒有存儲數(shù)據(jù)本身。物理層通過“連接池”、“緩存查詢結(jié)果”等技術(shù)來提高性能。

2、 邏輯層Business Model and Mapping,基于物理層構(gòu)建的DW多維數(shù)據(jù)模型如星型模型或雪花模型,以及定義邏輯模型與物理模型間的映射關(guān)系。需要定義事實表和維度表的主外鍵關(guān)系,可以定義維度表的層次和事實表的度量。這里是整個BIEE的設(shè)計核心,需要“整合”開發(fā)人員和業(yè)務(wù)人員兩種視覺。一個邏輯層的表,可能來自多個物理層的表;一個邏輯層的字段,可以來自多個物理層的多個表。

3、 展現(xiàn)層Presentation,該層隱藏掉任何技術(shù)術(shù)語和模型,去掉任何業(yè)務(wù)不關(guān)心的字段如ID列,以最終用戶的視角和術(shù)語行描述。最常見的做法是面對不同的用戶組——業(yè)務(wù)部門,來設(shè)計不同的展現(xiàn)層分析項。這樣做的好處是:可以把報表開發(fā)更加完善,符合最終用戶的需求。

②敏捷BI軟件:

Tableau

Tableau Software致力于幫助人們查看并理解數(shù)據(jù)。Tableau 幫助任何人快速分析、可視化并分享信息。超過 42,000 家客戶通過使用 Tableau 在辦公室或隨時隨地快速獲得結(jié)果。數(shù)以萬計的用戶使用 Tableau Public 在博客與網(wǎng)站中分享數(shù)據(jù)。

Tableau公司將數(shù)據(jù)運算與美觀的圖表完美地嫁接在一起。它的程序很容易上手,各公司可以用它將大量數(shù)據(jù)拖放到數(shù)字“畫布”上,轉(zhuǎn)眼間就能創(chuàng)建好各種圖表。這一軟件的理念是,界面上的數(shù)據(jù)越容易操控,公司對自己在所在業(yè)務(wù)領(lǐng)域里的所作所為到底是正確還是錯誤,就能了解得越透徹。

PowerBI

Microsoft Power BI 是一系列的軟件服務(wù)、應(yīng)用和連接器,這些軟件服務(wù)、應(yīng)用和連接器協(xié)同工作,將不相關(guān)的數(shù)據(jù)源轉(zhuǎn)化為合乎邏輯、視覺上逼真的交互式見解。 不管你的數(shù)據(jù)是簡單的 Microsoft Excel 工作簿,還是基于云的數(shù)據(jù)倉庫和本地混合數(shù)據(jù)倉庫的集合,Power BI 都可讓你輕松連接到數(shù)據(jù)源,可視化(或發(fā)現(xiàn))重要信息,并與所需的任何人共享這些信息。

Power BI 的組成部分:

Power BI 由名為 Power BI Desktop 的 Microsoft Windows 桌面應(yīng)用程序、名為 Power BI 服務(wù)的聯(lián)機 SaaS(軟件即服務(wù))以及可在任意設(shè)備上使用的移動版 Power BI 應(yīng)用(包含適用于 Windows、iOS 和 Android 的本機移動 BI 應(yīng)用)組成。

FineBI

FineBI是帆軟軟件有限公司推出的一款商業(yè)智能(Business Intelligence)產(chǎn)品,它可以通過最終業(yè)務(wù)用戶自主分析企業(yè)已有的信息化數(shù)據(jù),幫助企業(yè)發(fā)現(xiàn)并解決存在的問題,協(xié)助企業(yè)及時調(diào)整策略做出更好的決策,增強企業(yè)的可持續(xù)競爭性。

系統(tǒng)架構(gòu)

數(shù)據(jù)處理:數(shù)據(jù)處理服務(wù),用來對原始數(shù)據(jù)進行抽取,轉(zhuǎn)換,加載。為分析服務(wù)生成數(shù)據(jù)倉庫FineCube。

即時分析:可以選擇數(shù)據(jù)快速創(chuàng)建表格或者圖表以使數(shù)據(jù)可視化、添加過濾條件篩選數(shù)據(jù),即時排序,使數(shù)據(jù)分析更快捷。

多維度分析:OLAP分析實現(xiàn),提供各種分析挖掘功能和預(yù)警功能,例如任意維度切換,添加,多層鉆取,排序,自定義分組,智能關(guān)聯(lián)等等。

Dashboard:提供各種樣式的表格和多種圖表服務(wù),配合各種業(yè)務(wù)需求展現(xiàn)數(shù)據(jù)。

三、統(tǒng)計分析軟件:

MATLAB

MATLAB是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于數(shù)據(jù)分析、無線通信、深度學(xué)習(xí)、圖像處理與計算機視覺、信號處理、量化金融與風(fēng)險管理、機器人,控制系統(tǒng)等領(lǐng)域。

MATLAB是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室),軟件主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。它將數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計以及必須進行有效數(shù)值計算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言(如C、Fortran)的編輯模式。

MATLAB和Mathematica、Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計算方面首屈一指。行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點,使MATLAB成為一個強大的數(shù)學(xué)軟件。在新的版本中也加入了對C,F(xiàn)ORTRAN,C++,JAVA的支持。

SPSS

SPSS(Statistical Product and Service Solutions),“統(tǒng)計產(chǎn)品與服務(wù)解決方案”軟件。最初軟件全稱為“社會科學(xué)統(tǒng)計軟件包”(Solutions Statistical Package for the Social Sciences),但是隨著SPSS產(chǎn)品服務(wù)領(lǐng)域的擴大和服務(wù)深度的增加,SPSS公司已于2000年正式將英文全稱更改為“統(tǒng)計產(chǎn)品與服務(wù)解決方案”,這標(biāo)志著SPSS的戰(zhàn)略方向正在做出重大調(diào)整。SPSS為IBM公司推出的一系列用于統(tǒng)計學(xué)分析運算、數(shù)據(jù)挖掘、預(yù)測分析和決策支持任務(wù)的軟件產(chǎn)品及相關(guān)服務(wù)的總稱,有Windows和Mac OS X等版本。

1984年SPSS總部首先推出了世界上第一個統(tǒng)計分析軟件微機版本SPSS/PC+,開創(chuàng)了SPSS微機系列產(chǎn)品的開發(fā)方向,極大地擴充了它的應(yīng)用范圍,并使其能很快地應(yīng)用于自然科學(xué)、技術(shù)科學(xué)、社會科學(xué)的各個領(lǐng)域。世界上許多有影響的報刊雜志紛紛就SPSS的自動統(tǒng)計繪圖、數(shù)據(jù)的深入分析、使用方便、功能齊全等方面給予了高度的評價。

Stata

Stata的統(tǒng)計功能很強,除了傳統(tǒng)的統(tǒng)計分析方法外,還收集了近20年發(fā)展起來的新方法,如Cox比例風(fēng)險回歸,指數(shù)與Weibull回歸,多類結(jié)果與有序結(jié)果的logistic回歸,Poisson回歸,負(fù)二項回歸及廣義負(fù)二項回歸,隨機效應(yīng)模型等。具體說, Stata具有如下統(tǒng)計分析能力:

數(shù)值變量資料的一般分析:參數(shù)估計,t檢驗,單因素和多因素的方差分析,協(xié)方差分析,交互效應(yīng)模型,平衡和非平衡設(shè)計,嵌套設(shè)計,隨機效應(yīng),多個均數(shù)的兩兩比較,缺項數(shù)據(jù)的處理,方差齊性檢驗,正態(tài)性檢驗,變量變換等。

分類資料的一般分析:參數(shù)估計,列聯(lián)表分析 ( 列聯(lián)系數(shù),確切概率 ) ,流行病學(xué)表格分析等。

等級資料的一般分析:秩變換,秩和檢驗,秩相關(guān)等

相關(guān)與回歸分析:簡單相關(guān),偏相關(guān),典型相關(guān),以及多達數(shù)十種的回歸分析方法,如多元線性回歸,逐步回歸,加權(quán)回歸,穩(wěn)鍵回歸,二階段回歸,百分位數(shù) ( 中位數(shù) ) 回歸,殘差分析、強影響點分析,曲線擬合,隨機效應(yīng)的線性回歸模型等。

其他方法:質(zhì)量控制,整群抽樣的設(shè)計效率,診斷試驗評價, kappa等。

SAS

SAS(全稱STATISTICAL ANALYSIS SYSTEM,簡稱SAS)是全球最大的私營軟件公司之一,是由美國北卡羅來納州立大學(xué)1966年開發(fā)的統(tǒng)計分析軟件。

1976年SAS軟件研究所(SAS INSTITUTE INC)成立,開始進行SAS系統(tǒng)的維護、開發(fā)、銷售和培訓(xùn)工作。期間經(jīng)歷了許多版本,并經(jīng)過多年來的完善和發(fā)展,SAS系統(tǒng)在國際上已被譽為統(tǒng)計分析的標(biāo)準(zhǔn)軟件,在各個領(lǐng)域得到廣泛應(yīng)用。

1966年,美國農(nóng)業(yè)部(USDA)收集到巨量的農(nóng)業(yè)數(shù)據(jù),急需一種計算機化統(tǒng)計程序來對其進行分析。由美國國家衛(wèi)生研究院(NIH)資助的八所大學(xué)聯(lián)合會共同解決了這一問題。 最終,統(tǒng)計分析系統(tǒng)(statistical analysis system),也就是SAS應(yīng)運而生,既給了SAS公司一個響亮的名字,亦成為了公司化運作的起點。

位于北卡羅來納州首府羅利市的北卡羅來納州立大學(xué)(NCSU)成為該聯(lián)盟的領(lǐng)導(dǎo)者,因為其更為強大的大型中央處理計算機計算能力而勝出。 NCSU教職員工Jim Goodnight和Jim Barr成為項目負(fù)責(zé)人。 Barr創(chuàng)建了整個架構(gòu),Goodnight則負(fù)責(zé)實施和實現(xiàn)架構(gòu)上的各種功能特性,并拓展了系統(tǒng)的性能。 當(dāng)NIH于1972年停止供資時,社團聯(lián)盟同意為該項目提供資金,使NCSU能夠繼續(xù)開發(fā)維護系統(tǒng)運作,從而支持其統(tǒng)計分析需求。

EViews

EViews是Econometrics Views的縮寫,通常稱為計量經(jīng)濟學(xué)軟件包。是專門為大型機構(gòu)開發(fā)的、用以處理時間序列數(shù)據(jù)的時間序列軟件包的新版本。

EViews是Econometrics Views的縮寫,直譯為計量經(jīng)濟學(xué)觀察,通常稱為計量經(jīng)濟學(xué)軟件包。它的本意是對社會經(jīng)濟關(guān)系與經(jīng)濟活動的數(shù)量規(guī)律,采用計量經(jīng)濟學(xué)方法與技術(shù)進行“觀察”。計量經(jīng)濟學(xué)研究的核心是設(shè)計模型、收集資料、估計模型、檢驗?zāi)P汀?yīng)用模型(結(jié)構(gòu)分析、經(jīng)濟預(yù)測、政策評價)。EViews是完成上述任務(wù)比較得力的必不可少的工具。正是由于EViews等計量經(jīng)濟學(xué)軟件包的出現(xiàn),使計量經(jīng)濟學(xué)取得了長足的進步,發(fā)展成為一門較為實用與嚴(yán)謹(jǐn)?shù)慕?jīng)濟學(xué)科。

四、數(shù)據(jù)分析編程語言

Python

Python是一種跨平臺的計算機程序設(shè)計語言。 是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言。最初被設(shè)計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用于獨立的、大型項目的開發(fā)。

Python是一門簡單易學(xué)且功能強大的編程語言。它擁有高效的高級數(shù)據(jù)結(jié)構(gòu),并且能夠用簡單而又高效的方式進行面向?qū)ο缶幊獭?Python優(yōu)雅的語法和動態(tài)類型,再結(jié)合它的解釋性,使其在許多領(lǐng)域成為編寫腳本或開發(fā)應(yīng)用程序的理想語言。

近年來,數(shù)據(jù)分析工作崗位變得越來越受歡迎,很多人都開始轉(zhuǎn)行做數(shù)據(jù)分析。而大家也知道,有多種語言都可應(yīng)用于數(shù)據(jù)分析,但Python卻成為大家的首選,那么為什么使用Python做數(shù)據(jù)分析?我們來看看原因吧。

Python的語法簡單,代碼可讀性高,容易入門,有利于初學(xué)者學(xué)習(xí);當(dāng)我們進行數(shù)據(jù)處理的時候,我們希望將數(shù)據(jù)變得數(shù)值化,變成計算機可以運作的數(shù)字形式,我們可以直接使用一行列表推導(dǎo)式完成,十分簡單。

Python在數(shù)據(jù)分析和交互、探索性計算以及數(shù)據(jù)可視化等方面都有非常成熟的庫和活躍的社區(qū),讓Python成為數(shù)據(jù)任務(wù)處理重要解決方案。在數(shù)據(jù)處理和分析方面,Python擁有numpy、pandas、matplotlib、scikit-learn、ipython等優(yōu)秀的庫以及工具,尤其是pandas在處理數(shù)據(jù)方面有著絕對優(yōu)勢。

Python擁有強大的通用編程能力,有別于R語言,Python不僅在數(shù)據(jù)分析方面能力強大,在爬蟲、WEB、自動化運維甚至于游戲等領(lǐng)域都有非常不錯的作用,公司只需要使用一種技術(shù)就可以完成全部服務(wù),有利于業(yè)務(wù)融合,也可以提高工作效率。

Python是人工智能首選的編程語言,在人工智能時代,Python成為最受歡迎的編程語言。得益于Python簡潔、豐富的庫和社區(qū),大部分深度學(xué)習(xí)框架都優(yōu)先支持Python語言。

R語言

R是用于統(tǒng)計計算和圖形的語言和環(huán)境。這是一個類似于S語言和環(huán)境的GNU項目,該項目是由約翰·錢伯斯及其同事在貝爾實驗室(原AT&T,現(xiàn)為朗訊技術(shù)公司)開發(fā)的。R可以看作是S的不同實現(xiàn)。存在一些重要的區(qū)別,但是為S編寫的許多代碼在R的情況下不會改變。

R提供了各種各樣的統(tǒng)計信息(線性和非線性建模,經(jīng)典統(tǒng)計檢驗,時間序列分析,分類,聚類……)和圖形技術(shù),并且具有高度的可擴展性。S語言通常是統(tǒng)計方法論研究的首選工具,R語言提供了一種開放源代碼的途徑來參與該活動。

R的優(yōu)勢之一是可以輕松制作出精心設(shè)計的具有出版質(zhì)量的圖表,包括需要時的數(shù)學(xué)符號和公式。對于圖形中次要設(shè)計選項的默認(rèn)值,我們已格外小心,但用戶保留完全控制權(quán)。

根據(jù)自由軟件基金會的GNU通用公共許可證的條款,R可作為自由軟件以源代碼形式獲得。它可以在各種UNIX平臺和類似系統(tǒng)(包括FreeBSD和Linux),Windows和MacOS上編譯并運行。

五、大數(shù)據(jù)分析框架

①批處理:

MapReduce

MapReduce是一種編程模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運算。概念"Map(映射)"和"Reduce(歸約)",是它們的主要思想,都是從函數(shù)式編程語言里借來的,還有從矢量編程語言里借來的特性。它極大地方便了編程人員在不會分布式并行編程的情況下,將自己的程序運行在分布式系統(tǒng)上。 當(dāng)前的軟件實現(xiàn)是指定一個Map(映射)函數(shù),用來把一組鍵值對映射成一組新的鍵值對,指定并發(fā)的Reduce(歸約)函數(shù),用來保證所有映射的鍵值對中的每一個共享相同的鍵組。

MapReduce是面向大數(shù)據(jù)并行處理的計算模型、框架和平臺,它隱含了以下三層含義:

1)MapReduce是一個基于集群的高性能并行計算平臺(Cluster Infrastructure)。它允許用市場上普通的商用服務(wù)器構(gòu)成一個包含數(shù)十、數(shù)百至數(shù)千個節(jié)點的分布和并行計算集群。

2)MapReduce是一個并行計算與運行軟件框架(Software Framework)。它提供了一個龐大但設(shè)計精良的并行計算軟件框架,能自動完成計算任務(wù)的并行化處理,自動劃分計算數(shù)據(jù)和計算任務(wù),在集群節(jié)點上自動分配和執(zhí)行任務(wù)以及收集計算結(jié)果,將數(shù)據(jù)分布存儲、數(shù)據(jù)通信、容錯處理等并行計算涉及到的很多系統(tǒng)底層的復(fù)雜細(xì)節(jié)交由系統(tǒng)負(fù)責(zé)處理,大大減少了軟件開發(fā)人員的負(fù)擔(dān)。

3)MapReduce是一個并行程序設(shè)計模型與方法(Programming Model & Methodology)。它借助于函數(shù)式程序設(shè)計語言Lisp的設(shè)計思想,提供了一種簡便的并行程序設(shè)計方法,用Map和Reduce兩個函數(shù)編程實現(xiàn)基本的并行計算任務(wù),提供了抽象的操作和并行編程接口,以簡單方便地完成大規(guī)模數(shù)據(jù)的編程和計算處理。

Spark

Apache Spark 是專為大規(guī)模數(shù)據(jù)處理而設(shè)計的快速通用的計算引擎。Spark是UC Berkeley AMP lab (加州大學(xué)伯克利分校的AMP實驗室)所開源的類Hadoop MapReduce的通用并行框架,Spark,擁有Hadoop MapReduce所具有的優(yōu)點;但不同于MapReduce的是——Job中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機器學(xué)習(xí)等需要迭代的MapReduce的算法。

Spark 是一種與 Hadoop 相似的開源集群計算環(huán)境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負(fù)載方面表現(xiàn)得更加優(yōu)越,換句話說,Spark 啟用了內(nèi)存分布數(shù)據(jù)集,除了能夠提供交互式查詢外,它還可以優(yōu)化迭代工作負(fù)載。

Spark 是在 Scala 語言中實現(xiàn)的,它將 Scala 用作其應(yīng)用程序框架。與 Hadoop 不同,Spark 和Scala能夠緊密集成,其中的 Scala 可以像操作本地集合對象一樣輕松地操作分布式數(shù)據(jù)集。

盡管創(chuàng)建 Spark 是為了支持分布式數(shù)據(jù)集上的迭代作業(yè),但是實際上它是對 Hadoop 的補充,可以在 Hadoop 文件系統(tǒng)中并行運行。通過名為 Mesos 的第三方集群框架可以支持此行為。Spark 由加州大學(xué)伯克利分校 AMP 實驗室 (Algorithms, Machines, and People Lab) 開發(fā),可用來構(gòu)建大型的、低延遲的數(shù)據(jù)分析應(yīng)用程序。

②流處理:

SparkStreaming

Spark Streaming 是 Spark 核心 API 的一個擴展,可以實現(xiàn)高吞吐量的、具備容錯機制的實時流數(shù)據(jù)的處理。

Spark Streaming 支持從多種數(shù)據(jù)源獲取數(shù)據(jù),包括 Kafka、Flume、Twitter、ZeroMQ、Kinesis 以及 TCP Sockets。從數(shù)據(jù)源獲取數(shù)據(jù)之后,可以使用諸如 map、reduce、join 和 window 等高級函數(shù)進行復(fù)雜算法的處理,最后還可以將處理結(jié)果存儲到文件系統(tǒng)、數(shù)據(jù)庫和現(xiàn)場儀表盤中。

在 Spark 統(tǒng)一環(huán)境的基礎(chǔ)上,可以使用 Spark 的其他子框架,如機器學(xué)習(xí)、圖計算等,對流數(shù)據(jù)進行處理。Spark Streaming 處理的數(shù)據(jù)流如下面圖 1 所示。


圖 1Spark Streaming處理的數(shù)據(jù)流

與 Spark 的其他子框架一樣,Spark Streaming 也是基于核心 Spark 的。Spark Streaming 在內(nèi)部的處理機制是,接收實時的輸入數(shù)據(jù)流,并根據(jù)一定的時間間隔(如 1 秒)拆分成一批批的數(shù)據(jù),然后通過 Spark Engine 處理這些批數(shù)據(jù),最終得到處理后的一批批結(jié)果數(shù)據(jù)。它的工作原理如圖 2 所示。


圖 2Spark Streaming 原理

Spark Streaming 支持一個高層的抽象,叫作離散流(DiscretizedStream)或者 DStream,它代表連續(xù)的數(shù)據(jù)

DStream 既可以利用根據(jù) Kafka、Flume 和 Kinesis 等數(shù)據(jù)源獲取的輸入數(shù)據(jù)流來創(chuàng)建,也可以在其他 DStream 的基礎(chǔ)上通過高階函數(shù)獲得。

在內(nèi)部,DStream 是由一系列 RDD 組成的。一批數(shù)據(jù)在 Spark 內(nèi)核中對應(yīng)一個 RDD 實例。因此,對應(yīng)流數(shù)據(jù)的 DStream 可以看成是一組 RDD,即 RDD 的一個序列。也就是說,在流數(shù)據(jù)分成一批一批后,會通過一個先進先出的隊列,Spark Engine 從該隊列中依次取出一個個批數(shù)據(jù),并把批數(shù)據(jù)封裝成一個 RDD,然后再進行處理。

Flink

Apache Flink是由Apache軟件基金會開發(fā)的開源流處理框架,其核心是用Java和Scala編寫的分布式流數(shù)據(jù)流引擎。Flink以數(shù)據(jù)并行和流水線方式執(zhí)行任意流數(shù)據(jù)程序,F(xiàn)link的流水線運行時系統(tǒng)可以執(zhí)行批處理和流處理程序。此外,F(xiàn)link的運行時本身也支持迭代算法的執(zhí)行。

任何類型的數(shù)據(jù)都是作為事件流產(chǎn)生的。信用卡交易,傳感器測量,機器日志或網(wǎng)站或移動應(yīng)用程序上的用戶交互,所有這些數(shù)據(jù)均作為流生成。

數(shù)據(jù)可以作為無界流或有界流處理。

無界流有一個起點,但沒有定義的終點。它們不會終止并在生成數(shù)據(jù)時提供數(shù)據(jù)。無界流必須被連續(xù)處理,即,事件在被攝取后必須被及時處理。無法等待所有輸入數(shù)據(jù)到達,因為輸入是無界的,并且在任何時間都不會完成。處理無邊界數(shù)據(jù)通常需要以特定順序(例如事件發(fā)生的順序)來攝取事件,以便能夠推斷出結(jié)果的完整性。

有界流具有定義的開始和結(jié)束。可以通過在執(zhí)行任何計算之前提取所有數(shù)據(jù)來處理有界流。由于有界數(shù)據(jù)集始終可以排序,因此不需要有序攝取即可處理有界流。綁定流的處理也稱為批處理。

③交互式處理:

Hive

hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,用來進行數(shù)據(jù)提取、轉(zhuǎn)化、加載,這是一種可以存儲、查詢和分析存儲在Hadoop中的大規(guī)模數(shù)據(jù)的機制。hive數(shù)據(jù)倉庫工具能將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供SQL查詢功能,能將SQL語句轉(zhuǎn)變成MapReduce任務(wù)來執(zhí)行。Hive的優(yōu)點是學(xué)習(xí)成本低,可以通過類似SQL語句實現(xiàn)快速MapReduce統(tǒng)計,使MapReduce變得更加簡單,而不必開發(fā)專門的MapReduce應(yīng)用程序。hive十分適合對數(shù)據(jù)倉庫進行統(tǒng)計分析。

hive 構(gòu)建在基于靜態(tài)批處理的Hadoop 之上,Hadoop 通常都有較高的延遲并且在作業(yè)提交和調(diào)度的時候需要大量的開銷。因此,hive 并不能夠在大規(guī)模數(shù)據(jù)集上實現(xiàn)低延遲快速的查詢,例如,hive 在幾百MB 的數(shù)據(jù)集上執(zhí)行查詢一般有分鐘級的時間延遲。

因此,hive 并不適合那些需要高實時性的應(yīng)用,例如,聯(lián)機事務(wù)處理(OLTP)。hive 查詢操作過程嚴(yán)格遵守Hadoop MapReduce 的作業(yè)執(zhí)行模型,hive 將用戶的hiveQL 語句通過解釋器轉(zhuǎn)換為MapReduce 作業(yè)提交到Hadoop 集群上,Hadoop 監(jiān)控作業(yè)執(zhí)行過程,然后返回作業(yè)執(zhí)行結(jié)果給用戶。hive 并非為聯(lián)機事務(wù)處理而設(shè)計,hive 并不提供實時的查詢和基于行級的數(shù)據(jù)更新操作。hive 的最佳使用場合是大數(shù)據(jù)集的批處理作業(yè),例如,網(wǎng)絡(luò)日志分析。

SparkSQL

spark SQL的架構(gòu)如圖16-12所示,在Shark原有的架構(gòu)上重寫了邏輯執(zhí)行計劃的優(yōu)化部分,解決了Shark存在的問題。Spark SQL在Hive兼容層面僅依賴HiveQL解析和Hive元數(shù)據(jù),也就是說,從HQL被解析成抽象語法樹(AST)起,就全部由Spark SQL接管了。Spark SQL執(zhí)行計劃生成和優(yōu)化都由Catalyst(函數(shù)式關(guān)系查詢優(yōu)化框架)負(fù)責(zé)。


圖16-12-Spark-SQL架構(gòu)

Spark SQL增加了SchemaRDD(即帶有Schema信息的RDD),使用戶可以在Spark SQL中執(zhí)行SQL語句,數(shù)據(jù)既可以來自RDD,也可以來自Hive、HDFS、Cassandra等外部數(shù)據(jù)源,還可以是JSON格式的數(shù)據(jù)。Spark SQL目前支持Scala、Java、Python三種語言,支持SQL-92規(guī)范。從Spark1.2 升級到Spark1.3以后,Spark SQL中的SchemaRDD變?yōu)榱薉ataFrame,DataFrame相對于SchemaRDD有了較大改變,同時提供了更多好用且方便的API,如圖16-13所示。

圖16-13-Spark-SQL支持的數(shù)據(jù)格式和編程語言

Spark SQL可以很好地支持SQL查詢,一方面,可以編寫Spark應(yīng)用程序使用SQL語句進行數(shù)據(jù)查詢,另一方面,也可以使用標(biāo)準(zhǔn)的數(shù)據(jù)庫連接器(比如JDBC或ODBC)連接Spark進行SQL查詢,這樣,一些市場上現(xiàn)有的商業(yè)智能工具(比如Tableau)就可以很好地和Spark SQL組合起來使用,從而使得這些外部工具借助于Spark SQL也能獲得大規(guī)模數(shù)據(jù)的處理分析能力。

數(shù)據(jù)科學(xué)交流群,群號:189158789,歡迎各位對數(shù)據(jù)科學(xué)感興趣的小伙伴的加入!

總結(jié)

以上是生活随笔為你收集整理的常用的数据分析软件和工具有哪些?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。