【大数据实战项目一】数据下载以及工具软件的使用
數據下載以及工具軟件的使用
- 1 數據從哪里來?數據怎么用?
- 1.1 本項目中使用的數據——飛機航班數據
- 1.2 結構化數據與非結構化數據
- 1.3 結構表的特征提取和呈現
- 1.4 數據分析金字塔
- 1.5 數據下載
- 2 大數據實戰項目中工具軟件的選擇
- 2.1 原始數據收集器使用的技術——Kafka
- 2.2 原始數據存儲使用到的技術——HadoopHDFS
- 2.3 原始數據批處理使用到的技術——Spark、PySpark、SparkSQL
- 2.4 結果數據存儲使用到的技術——Mongodb ES
- 2.5 結果數據展示用到的技術——Flask D3.js
- 2.6 每天新數據的回填使用到的技術——Airflow
手動反爬蟲,禁止轉載: 原博地址 https://blog.csdn.net/lys_828/article/details/121184995(CSDN博主:Be_melting) 知識梳理不易,請尊重勞動成果,文章僅發布在CSDN網站上,在其他網站看到該博文均屬于未經作者授權的惡意爬取信息
1 數據從哪里來?數據怎么用?
1.1 本項目中使用的數據——飛機航班數據
- 飛機出行是現代生活中不可缺少的一部分
- 許多航班數據可以免費獲取
- 航班準點數據集是有點“大”的數據集,每年的數據約有1-10個GB,雖然和真正的大數據相比還有點小,但是在單臺個人電腦上處理這些數據已經可以被稱為“大”數據了
95%的出發地在美國的航班記錄數據都可以在公開航班數據網站和美國交通統計局的官方網站進行免費下載。
利用工具進行下載的數據樣式,如下:(數據是以單行進行放置,且每個元素之間是以逗號進行分隔)
1.2 結構化數據與非結構化數據
- 結構化數據:上世紀70年代開始,關系型結構化數據大量開始采用,使用嚴格的外部表進行數據的約束,將數據拆分成多個表,然后相互鏈接,為后面進行高效的查詢做準備,這個過程被稱為OLTP,簡化了很多實際業務 規則對于數據的定義。
- 非結構化數據:在2010年前關系型數據依舊是存儲和數據處理的首選, SQL也成為大眾操作這類數據的首選工具,但是隨著數據量的增加,以關系型數據庫為代表的數據處理發展逐步遇到了技術瓶頸,大量IT系統在處理數 據時完全被關系型數據系統限死,導致非結構化數據處理的興起。從而出現了一個新詞匯 NoSQL。
為什么要使用NoSQL:
- SQL帶來的問題不是SQL語言本身的問題,而是采用這類單一的數據處理方式,讓我們必須把 所有的數據處理方法都交給SQL,當數據量大增時SQL帶來了性能瓶頸,就演變成了全行業問 題,NoSQL中的No并不是指No 不使用的意思,而是擴展思路的Not Only,不僅僅是SQL的含義。
- 現代應用的崛起,尤其是以圖片,視頻,嵌套信息流等數據越來越多,傳統結構化模式的存儲已經難以處理。出于這樣的考慮,我們開始在分布式系統上采用類似Spark這樣的工具進行操作,并且由于分布式系統可以結合多個系統硬件資源,使得使用時候無需太多考慮數據量和存儲等問題帶來的限制,利用多核處理器來簡單暴力的讀取數據以加快數據處理能力。
1.3 結構表的特征提取和呈現
- 現代商業數據分析中,大部分獲得到的數據都是比較粗糙和非結構化的,將這些信息進行清洗和正則化以后,才能稱的上是數據,使用這些提煉過的信息來作為一些行為提供新的決策思路。
- 非結構化數據只有在“強光曝曬”下才會變得更好,如果使用了這些特征,提取后需要通過可視化工具進行對外展示,不然仍然處于自由狀態。
- 構建數據產品最難的部分就是把提取出實物和特征限定到比想象小的多的產品中,這就是為什么一開始可以使用非結構化文本數據,經過提取特征后才會演變成結構化數據。
- 特征必須在產生時就具備某種形式呈現,否則將無法用于實際的決策支持狀態。
- 利用特征創建出實體頁面,讓數據能被“客戶”消化。不斷改進這些數據,逐步將他們組合起來,而不是試圖用海量數據進行直接展示,那樣只會出現展示數不清的無用的中間數據。
- 將數據進行編排成良好信息的同時,利用這些信息揭示新的結論并基于它們做出可以影響決策的預測,數據是殘酷無情的,如果不能挖掘出數據的信息,那再多的數據也是無用的數字垃圾。
- 在本輪實戰項目中,我們將看到表結構的不斷演變和優化,進而發掘出表結構的特征,帶你習數據挖掘的過程
1.4 數據分析金字塔
數據分析的步驟可以分為五個部分,具體劃分及內容可見下圖
1.5 數據下載
(1)公開的航班網站數據
項目中使用到的數據在https://openflights.org/data.html 網址上可下載的有五份,分別是機場、航空公司、飛機、航線和國家數據,下載示意如下。
機場數據下載地址:
航空公司數據下載地址:
航線數據下載地址:
飛機數據下載地址:
國家數據下載地址:
(2)美國交通部網站數據
打開鏈接網址:歷史準點航班數據查詢
比如篩選2015年的航班數據信息,下方可以勾選對應輸出的字段,全部勾選完畢后,可以點擊Download按鈕進行下載,示例操作如下。
將下載的文件另存為本地后打開結果如下。(只選擇了部分字段作為下載的演示,后續的項目中使用的字段高達100+,數據內存占用2.6G左右,這里只多勾選了時間字段,數據內存僅占用29M)
2 大數據實戰項目中工具軟件的選擇
此章節中會介紹項目中要使用到的技術棧的使用(一堆軟件的組合使用)。整個項目的分析流程如下,第一步,航班數據信息的原始數據在第一部分已經進行了介紹。
2.1 原始數據收集器使用的技術——Kafka
第二部的收集,除了使用Download方式外(靜態單次下載),正式的開發環境部署中,采用Kafka作為數據采集的接入方式(動態實時刷新數據),示例操作如下。
2.2 原始數據存儲使用到的技術——HadoopHDFS
2.3 原始數據批處理使用到的技術——Spark、PySpark、SparkSQL
為什么不使用python進行批處理,就是因為python處理時候不跨機器,即便是當前運行程序的電腦有8個cpu,程序運行的時候也只會使用其中的1個cpu。而Spark是屬于分布式處理,不僅可以用當前的多個cpu,甚至可以跨機器使用
2.4 結果數據存儲使用到的技術——Mongodb ES
原始數據(臟數據、待處理的數據)都會放在HadoopHDFS上,經過批處理過后的數據都是存放在Mongodb ES中。
2.5 結果數據展示用到的技術——Flask D3.js
2.6 每天新數據的回填使用到的技術——Airflow
最初介紹的數據下載就是直接從網站上Download,下載完畢后數據就不會更新了,而真實業務中航班數據每一天都是在增加的,所以對于新數據的回填就可以使用Airflow技術進行解決。
總結
以上是生活随笔為你收集整理的【大数据实战项目一】数据下载以及工具软件的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: framebuffer驱动详解0——fr
- 下一篇: ascii码与hex转换c语言,ASCI