課程計劃
- 多彩繽紛數據源
1.1 業務系統數據
1.2 爬蟲數據 - 數據的管理
2.1 數據文件管理
2.1.1 FTP文件服務
2.1.2 NFS文件服務
2.1.3 Samba文件服務
2.2 文件管理規範
2.2.1 接口新增數據文件
2.2.2 接口控制校驗文件
2.2.3 接口表結構文件
2.3 數據質量檢測 - 數據倉庫
3.1 數據倉庫的基本概念
3.2 數據倉庫的主要特徵
3.3 數據倉庫與數據庫區別
3.4 數據倉庫分層架構
3.5 數據倉庫元數據管理 - Apache Hive
4.1 Hive簡介
4.1.1 什麼是Hive
4.1.2 爲什麼使用Hive
4.2 Hive架構
4.2.1 Hive架構圖
4.2.2 Hive組件
4.2.3 Hive與Hadoop的關係
4.3 Hive與傳統數據庫對比
4.4 Hive數據模型
4.5 Hive安裝部署 - Hive基本操作
5.1 DDL操作
5.2 DML操作
5.2.1 Load
5.2.2 Insert
5.2.3 Select
5.3 Hive join - Hive參數配置
6.1 Hive命令行
6.2 Hive參數配置方式 - Hive函數
7.1 內置運算符
7.2 內置函數
7.3 Hive自定義函數和Transform
7.4 Hive特殊分隔符處理(擴展)
多彩繽紛數據源
典型的數據分析系統,要分析的數據種類其實是比較豐富的。依據來源可大體分爲以下幾個部分:
圖:數據分析系統數據來源
一家公司只要去提供服務,不管是PC網站,H5頁面,還是移動端APP,只要在用戶使用服務,就會在頁面上有各種各樣的行爲。這些行爲,如果想去開展分析的話,這一塊數據就需要收集過來,比如說JS,它就是用來專門蒐集在頁面上的這種行爲。它的整個技術核心點,叫做埋點。也就是說,在想要去搜集數據的頁面,去埋上一段代碼。這段代碼,在某種條件下就會被觸發。比如說打開頁面,比如說點擊鏈接,觸發這個鏈接之後,這一段代碼就會去執行,就會去加載JS進行相關頁面的數據收集,傳到後端來保存數據。
如果說這一塊要去開展的話,得去搭建一個自主數據採集系統。但是有一個前提,進行數據分析,不能影響網站的正常業務邏輯。數據分析是爲了錦上添花,如果因爲分析導致正常業務邏輯產生了影響,得不償失。
後端有服務器的支持,比如說Java EE,後端會部署WEB服務,WEB服務有WEB服務器的支持,這些用戶來方位,也可以獲取到。各個系統都會使用到數據庫,不管是訂單系統、搶購系統、購物系統,還是用戶註冊登錄系統,基本上每個業務模塊都有一張表甚至多張表來與它對應。這些存儲在傳統數據庫的表的數據,如果需要的話,也可以參加分析。比如說訂單數據,分析過去一個星期,網站賣的東西種類與地域分佈情況。因爲數據庫都是內部的,直接可以通過接口來獲取數據,也可以通過Java消息,生成訂單的時候,就發一個消息過來,但是無論如何,不能影響正常的業務邏輯。也不能對業務系統的數據庫造成非常大的壓力。
外部數據可以通過比如爬蟲技術,爬出商品價格或者銷售策略,根據數據分析,作出相應判斷,這種在電商行業還是非常多的。
業務系統數據
業務系統產生的數據是不可忽視,比如電商網站,大量的訂單數據看似雜亂無章,實則蘊含潛在的商業價值,可以從中分析進而進行商業推廣,產品推薦等。
另一角度來看,業務系統數據獲取成本低、方式容易,屬於公司內部範疇。業務系統的數據一般保存在關係型數據庫當中。獲取形式有:
- 接口調用:直接獲取業務系統數據庫的數據,但是要注意不能影響業務系統數據庫的性能,比如大量獲取數據增大數據庫讀數據壓力。
- 數據庫dump:非高峯時段,或者在數據庫從庫上dump出全部數據。一般企業中會定時進行數據庫的備份、導出工作,那麼就可以共享使用這些數據。
比如MySQL數據庫,使用mysqldump工具就可以進行數據庫的導出。
mysqldump -uroot -pPassword [database name] [dump file]
mysqldump命令將數據庫中的數據備份成一個文本文件。表的結構和表中的數據將存儲在生成的文本文件中。
爬蟲數據
在進行網站數據分析的時候,除了內部數據之外,還有一部分數據是我們不能夠忽視的。那就是所謂的外部數據。當然這是相對公司網站來說的。擁有了外部數據可以更好的幫助我們進行數據分析。
爬蟲(Web crawler),是指一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。 他們被廣泛用於互聯網搜索引擎或其他類似網站,可以自動採集所有其能夠訪問到的頁面內容,以獲取或更新這些網站的內容和檢索方式。
電子商務行業最初的爬蟲需求來源於比價。這是某些電商網站的核心業務。大家如果買商品的時候,是一個價格敏感型用戶的話,很可能會使用比價功能。毫無懸念,會使用爬蟲技術來爬取所有相關電商的價格。
當然,這並不意味着大家喜歡被爬取,於是需要通過技術手段來做反爬蟲。