大家好,我是不溫蔔火,是一名計算機學院大資料專業大二的學生,昵稱來源于成語—<code>不溫不火</code>,本意是<code>希望自己性情溫和</code>。作為一名網際網路行業的小白,部落客寫部落格一方面是為了記錄自己的學習過程,另一方面是總結自己所犯的錯誤希望能夠幫助到很多和自己一樣處于起步階段的萌新。但由于水準有限,部落格中難免會有一些錯誤出現,有纰漏之處懇請各位大佬不吝賜教!暫時隻有csdn這一個平台,
1、大資料的概念
1、什麼是big data?
2、大資料的五大特征
2、大資料的曆史發展
1、物聯網(internet of things)
2、雲計算(cloud computing)
3、雲平台(cloud platform)
4、雲計算的關鍵技術
5、大資料、雲計算和物聯網的關系:
6、大資料發展大事件
3、大資料核心技術
1、資料的采集與存儲
1、資料采集
1、普通
2、分布式采集工具
2、資料存儲
1、關系型資料庫(sql)
2、非關系型資料庫(nosql)
2、資料清洗與分析
1、資料清洗
1、資料清洗的方法
2、資料清洗的工具
2、資料分析
1、資料分析的方法:機器學習
2、資料分析的工具
3、資料可視化
4、大資料行業應用
5、大資料安全概述
下面是一些機構的定義:
維基百科:
傳統資料處理應用軟體不足以處理的大型而複雜的資料集;
包含的資料大小超過了傳統軟體在可接受時間内處理的能力。
網際網路資料中心(idc):
為了能夠更經濟地從高頻率、大容量、不同結構和類型的資料中擷取價值而設計的新一代架構和技術。
1、資料量巨大(海量)
2、資料類型衆多
資料類型多樣,包括各種形式的資料。按分類可分為:
①、結構化資料:
excel檔案、csv檔案等。
結構化資料為表格形式的資料:每列資料類型相同,切不可再細分。
②、半結構化資料:
郵件、網頁、json檔案、日志檔案等。
這些資料的結構和内容混在一起,沒有明顯的區分。
③、非結構化資料:
圖檔、視訊等
3、處理速度快
①、資料産生非常快,要求處理的速度快;
②、強調實時分析,輸入後立即處理;
③、處理速度越快,越有利于創造價值
4、資料來源真實
資料的準确性和可信賴度高
5、潛在價值大
①、有價值的資訊分散于海量資料中
②、龐大的資料量隐藏了巨大财富
③、通過資料分析與資料挖掘可豁達價值
①、虛拟化:
将一台計算機虛拟為多台邏輯計算機,每個邏輯計算機可運作不同的作業系統,且應用程式互相獨立,顯著提高計算機工作效率。
②、分布式存儲:
将大資料檔案切分為許多快、分散存儲再多台機器組成的叢集中。
==tips:==叢集是指将幾台伺服器集中起來進行一項服務。
③、分布式計算:
把一個大資料集切分成多個小資料集,分布到不同的機器上并行處理,極大提高資料處理速度。
大資料應用的流程:
資料采集我們一般通過python網絡爬蟲進行實作;
關于資料存儲和資料清洗的問題,可以采用原始的先存儲後清洗,也可以先進行資料清洗,然後進行資料存儲。
資料采集:又稱資料擷取,從傳感器和網際網路等管道自動采集資訊的過程。
下面為一些常見的資料采集工具:
1、python網絡爬蟲:
urllib:http請求庫,用于請求、下載下傳網頁
requests:基于urllib,但更加快捷友善
scrapy:爬蟲架構,用于從網頁中提取資料
2、webmagic(java):垂直爬蟲架構,簡單爬蟲開發流程,專注于邏輯功能的開發。
3、botnetspider(c#):國人開源的跨平台、高性能、輕量級爬蟲軟體,.net最為優秀的開源爬蟲之一
1、chukwa(hadoop):用于監控大型分布式系統的資料收集系統,建構在hdfs和mapreduce之上。
2、kafka:由apache開源,高吞吐量的分布式釋出訂閱消息系統。
3、flume(cloudera):分布式的海量日志采集、集合和傳輸系統。
資料存儲:資料以某種格式記錄在計算機内部或外部存儲媒體上。
資料存儲不一定是以檔案的形式存儲,它可以是以資料庫的形式進行存儲,由資料庫決定,怎樣寫入到檔案中或者怎樣儲存在記憶體中。
下列為常見的資料庫系統:
1、mysql(小型資料庫):最流行的關系型資料庫管理系統之一,将資料儲存于不同表中。
2、oracle(大型資料庫):甲骨文公司資料庫管理系統,高效率、可靠性高、适應高吞吐量。
3、sql server:microsoft公司的資料庫管理系統,使用友善、可伸縮性好、與相關軟體內建程度高。
1、hbase:高可靠性、高性能、可伸縮的分布式存儲系統,可在pc server上搭建大規模結構化存儲叢集。
2、mongodb:介于關系型資料庫和非關系型資料庫之間的産品,功能豐富;基于分布式檔案存儲資料庫,由c++編寫。
3、redis:一個日志型、高性能key-value資料庫,資料可以從主伺服器向任意數量的從伺服器同步。
資料清洗:為了便于後續的處理和分析,對資料進行的品質診斷、資料整合、資料轉換、缺失值處理和異常值處理等操作。
1、缺失值處理:對存在缺失的資料進行插補
2、異常值處理:對資料集中存在的不合理值進行處理
3、資料轉換:将資料從一種表現形式轉換成另一種表現形式
1、mapreduce(hadoop):基于叢集的高性能并行計算架構;并行計算與運作軟體架構;并行程式設計模型與方法。
2、pandas(python):解決資料分析任務的python庫,提供了諸多資料清洗的函數和方法。
3、openrefine:資料清洗工具,能夠對資料進行可視化操作,類似excel,但其工作方式更像資料庫。
利用機器學習等技術從資料中構模組化型,進而挖掘出有價值的資訊。
1、scikit-learn(python):機器學習庫,包含衆多機器學習算法,使用友善。
2、tensorflow:google開源的深度學習技術,追随者衆多,目前最火熱的深度學習架構。
3、torch:facebook力推的深度學習架構,具有較好的靈活性和速度,擁有python版本pytorch。
4、spark:apache開源的為大規模資料處理而設計的快速通過的計算引擎,擁有機器學習庫mllib。
資料可視化是将資料分析的過程與結果用圖表等形式進行展示。
資料可視化工具:
1、matplotlib(python):一個2d繪圖庫,可以繪制許多高品質的圖形
2、seaborn(python):matplotlib基礎上的進階繪圖庫,運用簡單的操作就能夠畫出較為複雜的圖形
3、tableau:一個強大的資料可視化工具,可實時進行可視化資料分析和資料探索
4、echarts:由百度前端技術部開發的,基于javascript的資料可視化圖表庫,提供直覺、生動、可互動、可個性化定制的資料可視化圖表
大資料行業的應用比較廣泛主要應用到網際網路、金融、健康醫療、交通、教育、環境保護等方面。
大資料時代的資料安全問題:
大資料是目前的熱點話題,正逐漸影響着人們的日常生活,大資料在收集存儲和使用過程中面臨着諸多安全風險,同時大資料導緻的隐私洩露也為使用者帶來嚴重的困擾。
目前,國家對個人資訊進行了立法保護。
本次的分享就到這裡了,
好書不厭讀百回,熟讀課思子自知。而我想要成為全場最靓的仔,就必須堅持通過學習來擷取更多知識,用知識改變命運,用部落格見證成長,用行動證明我在努力。 如果我的部落格對你有幫助、如果你喜歡我的部落格内容,聽說點贊的人運氣不會太差,每一天都會元氣滿滿呦!如果實在要白嫖的話,那祝你開心每一天,歡迎常來我部落格看看。