無需編程即可用來數據分析的工具/軟體,推薦幾個:
Excel / Spreadsheet:http://www.openoffice.org/download/
Trifacta:https://www.trifacta.com/start-wrangling/
Rapid Miner:https://rapidminer.com/
Rattle GUI:https://cran.r-project.org/bin/windows/base/
Orange:http://orange.biolab.si/
Tableau Public:https://public.tableau.com/s/
Talend:http://openrefine.org/download.html
B. 大數據平台是什麼什麼時候需要大數據平台如何建立大數據平台
首先我們要了解java語言和Linux操作系統,這兩個是學習大數據的基礎,學習的順序不分前後。
Java :只要了解一些基礎即可,做大數據不需要很深的Java 技術,學java SE 就相當於有學習大數據基礎。
Linux:因為大數據相關軟體都是在Linux上運行的,所以Linux要學習的扎實一些,學好Linux對你快速掌握大數據相關技術會有很大的幫助,能讓你更好的理解hadoop、hive、hbase、spark等大數據軟體的運行環境和網路環境配置,能少踩很多坑,學會shell就能看懂腳本這樣能更容易理解和配置大數據集群。還能讓你對以後新出的大數據技術學習起來更快。
Hadoop:這是現在流行的大數據處理平台幾乎已經成為大數據的代名詞,所以這個是必學的。Hadoop裡麵包括幾個組件HDFS、MapRece和YARN,HDFS是存儲數據的地方就像我們電腦的硬碟一樣文件都存儲在這個上面,MapRece是對數據進行處理計算的,它有個特點就是不管多大的數據只要給它時間它就能把數據跑完,但是時間可能不是很快所以它叫數據的批處理。
Zookeeper:這是個萬金油,安裝Hadoop的HA的時候就會用到它,以後的Hbase也會用到它。它一般用來存放一些相互協作的信息,這些信息比較小一般不會超過1M,都是使用它的軟體對它有依賴,對於我們個人來講只需要把它安裝正確,讓它正常的run起來就可以了。
Mysql:我們學習完大數據的處理了,接下來學習學習小數據的處理工具mysql資料庫,因為一會裝hive的時候要用到,mysql需要掌握到什麼層度那?你能在Linux上把它安裝好,運行起來,會配置簡單的許可權,修改root的密碼,創建資料庫。這里主要的是學習SQL的語法,因為hive的語法和這個非常相似。
Sqoop:這個是用於把Mysql里的數據導入到Hadoop里的。當然你也可以不用這個,直接把Mysql數據表導出成文件再放到HDFS上也是一樣的,當然生產環境中使用要注意Mysql的壓力。
Hive:這個東西對於會SQL語法的來說就是神器,它能讓你處理大數據變的很簡單,不會再費勁的編寫MapRece程序。有的人說Pig那?它和Pig差不多掌握一個就可以了。
Oozie:既然學會Hive了,我相信你一定需要這個東西,它可以幫你管理你的Hive或者MapRece、Spark腳本,還能檢查你的程序是否執行正確,出錯了給你發報警並能幫你重試程序,最重要的是還能幫你配置任務的依賴關系。我相信你一定會喜歡上它的,不然你看著那一大堆腳本,和密密麻麻的crond是不是有種想屎的感覺。
Hbase:這是Hadoop生態體系中的NOSQL資料庫,他的數據是按照key和value的形式存儲的並且key是唯一的,所以它能用來做數據的排重,它與MYSQL相比能存儲的數據量大很多。所以他常被用於大數據處理完成之後的存儲目的地。
Kafka:這是個比較好用的隊列工具,隊列是干嗎的?排隊買票你知道不?數據多了同樣也需要排隊處理,這樣與你協作的其它同學不會叫起來,你干嗎給我這么多的數據(比如好幾百G的文件)我怎麼處理得過來,你別怪他因為他不是搞大數據的,你可以跟他講我把數據放在隊列里你使用的時候一個個拿,這樣他就不在抱怨了馬上灰流流的去優化他的程序去了,因為處理不過來就是他的事情。而不是你給的問題。當然我們也可以利用這個工具來做線上實時數據的入庫或入HDFS,這時你可以與一個叫Flume的工具配合使用,它是專門用來提供對數據進行簡單處理,並寫到各種數據接受方(比如Kafka)的。
Spark:它是用來彌補基於MapRece處理數據速度上的缺點,它的特點是把數據裝載到內存中計算而不是去讀慢的要死進化還特別慢的硬碟。特別適合做迭代運算,所以演算法流們特別稀飯它。它是用scala編寫的。Java語言或者Scala都可以操作它,因為它們都是用JVM的。
C. 如何搭建基於Hadoop的大數據平台
Hadoop: 一個開源的分布式存儲、分布式計算平台.(基於)
Hadoop的組成:
HDFS:分布式文件系統,存儲海量的數據。
MapRece:並行處理框架,實現任務分解和調度。
Hadoop的用處:
搭建大型數據倉庫,PB級數據的存儲、處理、分析、統計等業務。
比如搜索引擎、網頁的數據處理,各種商業智能、風險評估、預警,還有一些日誌的分析、數據挖掘的任務。
Hadoop優勢:高擴展、低成本、成熟的生態圈(Hadoop Ecosystem Map)
Hadoop開源工具:
Hive:將SQL語句轉換成一個hadoop任務去執行,降低了使用Hadoop的門檻。
HBase:存儲結構化數據的分布式資料庫,habase提供數據的隨機讀寫和實時訪問,實現 對表數據的讀寫功能。
zookeeper:就像動物管理員一樣,監控hadoop集群裡面每個節點的狀態,管理整個集群 的配置,維護節點針之間數據的一次性等等。
hadoop的版本盡量選穩定版本,即較老版本。
===============================================
Hadoop的安裝與配置:
1)在Linux中安裝JDK,並設置環境變數
安裝jdk: >> sudo apt-get install openjdk-7-jdk
設置環境變數:
>> vim /etc/profile
>> :wq
2)下載Hadoop,並設置Hadoop環境變數
下載hadoop解壓縮:
>> cd /opt/hadoop-1.2.1/
>> ls
>> vim /etc/profile
>>:wq
3)修改4個配置文件
(a)修改hadoop-env.sh,設置JAVA_HOME
(b)修改core-site.xml,設置hadoop.tmp.dir, dfs.name.dir, fs.default.name
(c)修改mapred-site.xml, 設置mapred.job.tracker
(d)修改hdfs-site.xml,設置dfs.data.dir
>> cd conf
>> ls
>> vim mapred-site.xml
>> :wq
>> vim core-site.xml
第一部分
第二部分
>> :wq
>> vim hdfs-site.xml
>> :wq
>> vim hadoop-env.sh
>> :wq
# hadoop格式化
>> hadoop namenode -format
# hadoop啟動
>> start-all.sh
# 通過jps命令查看當前運行進程
>> jps
看見以下進程即說明hadoop安裝成功
D. 大數據平台特點是什麼
1. 高效分布式
有必要是高效的分布式體系。物聯網發生的數據量巨大,僅我國而言,就有5億多台智能電表,每台電表每隔15分鍾採集一次數據,一天全國智能電表就會發生500多億條記載。這么大的數據量,任何一台伺服器都無能力處理,因而處理體系有必要是分布式的,水平擴展的。
2. 實時處理
有必要是實時處理的體系。互聯網大數據處理,大家所了解的場景是用戶畫像、推薦體系、輿情分析等等,這些場景並不需求什麼實時性,批處理即可。可是關於物聯網場景,需求根據採集的數據做實時預警、決議計劃,延時要控制在秒級以內。
3. 高牢靠性
需求運營商等級的高牢靠服務。物聯網體系對接的往往是生產、經營體系,假如數據處理體系宕機,直接導致停產,發生經濟有丟失、導致對終端顧客的服務無法正常供給。比方智能電表,假如體系出問題,直接導致的是千家萬戶無法正常用電。
4. 高效緩存
需求高效的緩存功用。絕大部分場景,都需求能快速獲取設備當前狀態或其他信息,用以報警、大屏展示或其他。體系需求供給一高效機制,讓用戶能夠獲取全部、或契合過濾條件的部分設備的最新狀態。
5. 實時流式核算
需求實時流式核算。各種實時預警或猜測現已不是簡單的根據某一個閾值進行,而是需求經過將一個或多個設備發生的數據流進行實時聚合核算,不只是根據一個時間點、而是根據一個時間窗口進行核算。不僅如此,核算的需求也適當雜亂,因場景而異,應容許用戶自定義函數進行核算。
E. 如何架構大數據系統hadoop
大數據數量龐大,格式多樣化。
大量數據由家庭、製造工廠和辦公場所的各種設備、互聯網事務交易、社交網路的活動、自動化感測器、移動設備以及科研儀器等生成。
它的爆炸式增長已超出了傳統IT基礎架構的處理能力,給企業和社會帶來嚴峻的數據管理問題。
因此必須開發新的數據架構,圍繞「數據收集、數據管理、數據分析、知識形成、智慧行動」的全過程,開發使用這些數據,釋放出更多數據的隱藏價值。
一、大數據建設思路
1)數據的獲得
大數據產生的根本原因在於感知式系統的廣泛使用。
隨著技術的發展,人們已經有能力製造極其微小的帶有處理功能的感測器,並開始將這些設備廣泛的布置於社會的各個角落,通過這些設備來對整個社會的運轉進行監控。
這些設備會源源不斷的產生新數據,這種數據的產生方式是自動的。
因此在數據收集方面,要對來自網路包括物聯網、社交網路和機構信息系統的數據附上時空標志,去偽存真,盡可能收集異源甚至是異構的數據,必要時還可與歷史數據對照,多角度驗證數據的全面性和可信性。
2)數據的匯集和存儲
互聯網是個神奇的大網,大數據開發和軟體定製也是一種模式,這里提供最詳細的報價,如果你真的想做,可以來這里,這個手機的開始數字是一八七中間的是三兒零最後的是一四二五零,按照順序組合起來就可以找到,我想說的是,除非你想做或者了解這方面的內容,如果只是湊熱鬧的話,就不要來了
數據只有不斷流動和充分共享,才有生命力。
應在各專用資料庫建設的基礎上,通過數據集成,實現各級各類信息系統的數據交換和數據共享。
數據存儲要達到低成本、低能耗、高可靠性目標,通常要用到冗餘配置、分布化和雲計算技術,在存儲時要按照一定規則對數據進行分類,通過過濾和去重,減少存儲量,同時加入便於日後檢索的標簽。
3)數據的管理
大數據管理的技術也層出不窮。
在眾多技術中,有6種數據管理技術普遍被關注,即分布式存儲與計算、內存資料庫技術、列式資料庫技術、雲資料庫、非關系型的資料庫、移動資料庫技術。
其中分布式存儲與計算受關注度最高。
上圖是一個圖書數據管理系統。
4)數據的分析
數據分析處理:有些行業的數據涉及上百個參數,其復雜性不僅體現在數據樣本本身,更體現在多源異構、多實體和多空間之間的交互動態性,難以用傳統的方法描述與度量,處理的復雜度很大,需要將高維圖像等多媒體數據降維後度量與處理,利用上下文關聯進行語義分析,從大量動態而且可能是模稜兩可的數據中綜合信息,並導出可理解的內容。
大數據的處理類型很多,主要的處理模式可以分為流處理和批處理兩種。
批處理是先存儲後處理,而流處理則是直接處理數據。
挖掘的任務主要是關聯分析、聚類分析、分類、預測、時序模式和偏差分析等。
5)大數據的價值:決策支持系統
大數據的神奇之處就是通過對過去和現在的數據進行分析,它能夠精確預測未來;通過對組織內部的和外部的數據整合,它能夠洞察事物之間的相關關系;通過對海量數據的挖掘,它能夠代替人腦,承擔起企業和社會管理的職責。
6)數據的使用
大數據有三層內涵:一是數據量巨大、來源多樣和類型多樣的數據集;二是新型的數據處理和分析技術;三是運用數據分析形成價值。
大數據對科學研究、經濟建設、社會發展和文化生活等各個領域正在產生革命性的影響。
大數據應用的關鍵,也是其必要條件,就在於"IT"與"經營"的融合,當然,這里的經營的內涵可以非常廣泛,小至一個零售門店的經營,大至一個城市的經營。
二、大數據基本架構
基於上述大數據的特徵,通過傳統IT技術存儲和處理大數據成本高昂。
一個企業要大力發展大數據應用首先需要解決兩個問題:一是低成本、快速地對海量、多類別的數據進行抽取和存儲;二是使用新的技術對數據進行分析和挖掘,為企業創造價值。
因此,大數據的存儲和處理與雲計算技術密不可分,在當前的技術條件下,基於廉價硬體的分布式系統(如Hadoop等)被認為是最適合處理大數據的技術平台。
Hadoop是一個分布式的基礎架構,能夠讓用戶方便高效地利用運算資源和處理海量數據,目前已在很多大型互聯網企業得到了廣泛應用,如亞馬遜、Facebook和Yahoo等。
其是一個開放式的架構,架構成員也在不斷擴充完善中,通常架構如圖2所示:
Hadoop體系架構
(1)Hadoop最底層是一個HDFS(Hadoop Distributed File System,分布式文件系統),存儲在HDFS中的文件先被分成塊,然後再將這些塊復制到多個主機中(DataNode,數據節點)。
(2)Hadoop的核心是MapRece(映射和化簡編程模型)引擎,Map意為將單個任務分解為多個,而Rece則意為將分解後的多任務結果匯總,該引擎由JobTrackers(工作追蹤,對應命名節點)和TaskTrackers(任務追蹤,對應數據節點)組成。
當處理大數據查詢時,MapRece會將任務分解在多個節點處理,從而提高了數據處理的效率,避免了單機性能瓶頸限制。
(3)Hive是Hadoop架構中的數據倉庫,主要用於靜態的結構以及需要經常分析的工作。
Hbase主要作為面向列的資料庫運行在HDFS上,可存儲PB級的數據。
Hbase利用MapRece來處理內部的海量數據,並能在海量數據中定位所需的數據且訪問它。
(4)Sqoop是為數據的互操作性而設計,可以從關系資料庫導入數據到Hadoop,並能直接導入到HDFS或Hive。
(5)Zookeeper在Hadoop架構中負責應用程序的協調工作,以保持Hadoop集群內的同步工作。
(6)Thrift是一個軟體框架,用來進行可擴展且跨語言的服務的開發,最初由Facebook開發,是構建在各種編程語言間無縫結合的、高效的服務。
Hadoop核心設計
Hbase——分布式數據存儲系統
Client:使用HBase RPC機制與HMaster和HRegionServer進行通信
Zookeeper:協同服務管理,HMaster通過Zookeepe可以隨時感知各個HRegionServer的健康狀況
HMaster: 管理用戶對表的增刪改查操作
HRegionServer:HBase中最核心的模塊,主要負責響應用戶I/O請求,向HDFS文件系統中讀寫數據
HRegion:Hbase中分布式存儲的最小單元,可以理解成一個Table
HStore:HBase存儲的核心。
由MemStore和StoreFile組成。
HLog:每次用戶操作寫入Memstore的同時,也會寫一份數據到HLog文件
結合上述Hadoop架構功能,大數據平台系統功能建議如圖所示:
應用系統:對於大多數企業而言,運營領域的應用是大數據最核心的應用,之前企業主要使用來自生產經營中的各種報表數據,但隨著大數據時代的到來,來自於互聯網、物聯網、各種感測器的海量數據撲面而至。
於是,一些企業開始挖掘和利用這些數據,來推動運營效率的提升。
數據平台:藉助大數據平台,未來的互聯網路將可以讓商家更了解消費者的使用**慣,從而改進使用體驗。
基於大數據基礎上的相應分析,能夠更有針對性的改進用戶體驗,同時挖掘新的商業機會。
數據源:數據源是指資料庫應用程序所使用的資料庫或者資料庫伺服器。
豐富的數據源是大數據產業發展的前提。
數據源在不斷拓展,越來越多樣化。
如:智能汽車可以把動態行駛過程變成數據,嵌入到生產設備里的物聯網可以把生產過程和設備動態狀況變成數據。
對數據源的不斷拓展不僅能帶來採集設備的發展,而且可以通過控制新的數據源更好地控制數據的價值。
然而我國數字化的數據資源總量遠遠低於美歐,就已有有限的數據資源來說,還存在標准化、准確性、完整性低,利用價值不高的情況,這**降低了數據的價值。
三、大數據的目標效果
通過大數據的引入和部署,可以達到如下效果:
1)數據整合
·統一數據模型:承載企業數據模型,促進企業各域數據邏輯模型的統一;
·統一數據標准:統一建立標準的數據編碼目錄,實現企業數據的標准化與統一存儲;
·統一數據視圖:實現統一數據視圖,使企業在客戶、產品和資源等視角獲取到一致的信息。
2)數據質量管控
·數據質量校驗:根據規則對所存儲的數據進行一致性、完整性和准確性的校驗,保證數據的一致性、完整性和准確性;
·數據質量管控:通過建立企業數據的質量標准、數據管控的組織、數據管控的流程,對數據質量進行統一管控,以達到數據質量逐步完善。
3)數據共享
·消除網狀介面,建立大數據共享中心,為各業務系統提供共享數據,降低介面復雜度,提高系統間介面效率與質量;
·以實時或准實時的方式將整合或計算好的數據向外系統提供。
4)數據應用
·查詢應用:平台實現條件不固定、不可預見、格式靈活的按需查詢功能;
·固定報表應用:視統計維度和指標固定的分析結果的展示,可根據業務系統的需求,分析產生各種業務報表數據等;
·動態分析應用:按關心的維度和指標對數據進行主題性的分析,動態分析應用中維度和指標不固定。
四、總結
基於分布式技術構建的大數據平台能夠有效降低數據存儲成本,提升數據分析處理效率,並具備海量數據、高並發場景的支撐能力,可大幅縮短數據查詢響應時間,滿足企業各上層應用的數據需求。