見:http://lxw1234.com/archives/2017/01/832.htm
至此,你的大數據平臺底層架構已經成型了,其中包括了數據采集、數據存儲與計算(離線和實時)、數據同步、任務調度與監控這幾大模塊。接下來是時候考慮如何更好的對外提供數據了。
第九章:我的數據要對外
通常對外(業務)提供數據訪問,大體上包含以下方面:
- 離線:比如,每天將前一天的數據提供到指定的數據源(DB、FILE、FTP)等;
離線數據的提供可以采用Sqoop、DataX等離線數據交換工具。
- 實時:比如,在線網站的推薦系統,需要實時從數據平臺中獲取給用戶的推薦數據,這種要求延時非常低(50毫秒以內)。
根據延時要求和實時數據的查詢需要,可能的方案有:HBase、Redis、MongoDB、ElasticSearch等。
- OLAP分析:OLAP除了要求底層的數據模型比較規范,另外,對查詢的響應速度要求也越來越高,可能的方案有:Impala、Presto、SparkSQL、Kylin。如果你的數據模型比較規模,那么Kylin是最好的選擇。
- 即席查詢:即席查詢的數據比較隨意,一般很難建立通用的數據模型,因此可能的方案有:Impala、Presto、SparkSQL。
這么多比較成熟的框架和方案,需要結合自己的業務需求及數據平臺技術架構,選擇合適的。原則只有一個:越簡單越穩定的,就是最好的。
如果你已經掌握了如何很好的對外(業務)提供數據,那么你的“大數據平臺”應該是這樣的:
第十章:牛逼高大上的機器學習
關于這塊,我這個門外漢也只能是簡單介紹一下了。數學專業畢業的我非常慚愧,很后悔當時沒有好好學數學。
在我們的業務中,遇到的能用機器學習解決的問題大概這么三類:
- 分類問題:包括二分類和多分類,二分類就是解決了預測的問題,就像預測一封郵件是否垃圾郵件;多分類解決的是文本的分類;
- 聚類問題:從用戶搜索過的關鍵詞,對用戶進行大概的歸類。
- 推薦問題:根據用戶的歷史瀏覽和點擊行為進行相關推薦。
大多數行業,使用機器學習解決的,也就是這幾類問題。
入門學習線路:
- 數學基礎;
- 機器學習實戰(Machine Learning in Action),懂Python最好;
- SparkMlLib提供了一些封裝好的算法,以及特征處理、特征選擇的方法。
機器學習確實牛逼高大上,也是我學習的目標。
那么,可以把機器學習部分也加進你的“大數據平臺”了。
?
寫給大數據開發初學者的話1
寫給大數據開發初學者的話2
第三章:把別處的數據搞到Hadoop上
第四章:把Hadoop上的數據搞到別處去
寫給大數據開發初學者的話3
第五章:快一點吧,我的SQL
第六章:一夫多妻制
寫給大數據開發初學者的話4
第七章:越來越多的分析任務
第八章:我的數據要實時
寫給大數據開發初學者的話5
第九章:我的數據要對外
第十章:牛逼高大上的機器學習