這一段時間一直忙着低頭趕路,現在終于有機會停下來整理一下行囊了。
這一路上, 經曆過下裡巴人, 也體驗過陽春白雪, 我們一直在進步。
之是以文章開篇稱為啟明星,不隻是因為我們的資料平台稱為啟明星,也因為平台從無到有,從1.0到2.0的這個過程,它像一顆啟明星一樣, 将我從之前那迷茫的、混沌的黑暗中帶了出來,我明确了自己的發展方向, 在這技術的汪洋中找到了自己的那一葉孤島,也看到了今後職業生涯的無數可能。
人生能遇到一個這樣的項目,能開啟自己的職業生涯,那無疑是幸運的。
啟明星已經與我結下了很深厚的姻緣。
若幹年後,擡頭仰望那一望無際的星空,相信啟明星任然會給予我無限的信心。
廢話不多說, 步入正文。
啟明星是我們的資料分析平台, 相信和大多數公司的資料分析平台一樣, 它的主要作用就是收集背景服務日志,活動日志,用戶端埋點日志,崩潰日志等, 進行解析, 清理後,統計傳統的名額資訊,評估活動效果,監控服務性能,用戶端性能等。在資料分析的基礎上,我們也開始了機器學習,資料挖掘的工作,這就是我們的另一個平台-資料秀.
每個公司的做法各有不同,但是基本的功能點都是一樣的。從啟明星1.0到啟明星2.0, 我們摸索着走過來,我不敢說我們的做法是好的, 但我們的很多經驗是值得分享出來的。我相信我們的經驗是最全面的。 ?從服務端日志格式, 用戶端埋點日志加密方式, 服務端nginx ?ip透傳, 到日志收容,日志清洗,日志解密, 從資料倉庫,資料立方 到olap 架構, 從hadoop的分布式計算,到storm的流計算,spark的疊代計算, 從簡單的bi統計,到複雜的機器學習算法, 無不涉及。
接下來我們就來具體了解一下在整個平台建構過程中涉及到的方方面面
啟明星1.0 (下裡巴人)
日志記錄
應用伺服器和web伺服器
access_log
web伺服器ip透傳
線上日志和離線日志
埋點日志加密政策和上傳政策
日志伺服器
日志收容
flume-ng
logstash, scribe, chukwa, kafka, flume對比
日志處理
hadoop
hdfs
mapreduce
yarn
etl
非法日志的過濾條件
正規表達式
資料倉庫相關理論(資料立方體, 上鑽,下卷,切面等)
olap
輕量級的olap架構mondrian
mongo叢集用作olap架構
分片叢集概念
mr
aggregate架構
dump層(從資料倉庫導出到olap層)
dump-job
dump-core
dump-mapping
任務排程
oozie,azkaban
工作流監控
服務
統一化參數
sql parser
負載均衡
nginx
展現
bootstrap
highchart, nvd3, chart.js
amd, cmd( require.js)
其他
elasticsearch對olap的支援到底靠不靠譜
一直憧憬的實時
啟明星2.0 (陽春白雪)
與1.0相同,接入了更多的日志,比如h5的日志,開放平台的日志,埋點日志除了app的之外,還有車機的,
tt的接入
sls與tt的異同
與傳統日志收容架構相比
日志收容監控(基線, 同比, 環比等)
odps
表結構存儲
支援sql
完整的生态系統
摩薩德任務監控
sql,udf
drds
oceanbase,garuda
大資料量下olap架構: facebook的pinot, apache的kylin等
datax
odps插件
python腳本
jar包
支援多種外圍存儲導出, drds,rds,hbase, ots,mongodb, tair,ots等
完整的工作流配置,監控
服務元件化架構
分布式服務元件的使用
dubbo
hsf
configureserver
akka
配置中心diamond
zookeeper
多類型資料庫支援的服務層設計(drds, rds, hbase, mongodb等)
vipserver
相關算法
一緻性hash
針對多資料庫的dataloader元件
基于requirejs的圖形元件的形成
apache zeppelin可視化架構
pentaho
nodejs相關工具對可視化插件的幫助(gulp, grunt, less等)
實時終于實作
<a href="http://www.goingio.com/2016/01/07/%e5%ae%9e%e6%97%b6%e6%8a%80%e6%9c%af%e5%9c%a8%e5%90%af%e6%98%8e%e6%98%9f%e7%9a%84%e5%ba%94%e7%94%a8-%e6%a6%82%e8%a7%88/">實時架構</a>
日志的實時接入
tt, flume等
日志的實時處理
strom, spark-streaming,基于storm的galaxy(即将脫離底層計算架構 )
實時服務
netty-socket
基于廣播的socket服務
實時展現
socketio
websocket
實時下的渲染技術
場景
實時活躍使用者展現
實時熱力圖
十一大屏
app崩潰資訊實時統計分析系統
基于實時架構的服務性能監控系統
sla性能名額:?平均響應時長, 長尾占比, 傳回值非200占比, 近一周内平均響應時長
從啟明星到資料秀
資料秀
圖像相關
空間索引方式
網狀索引: geohash等
樹狀索引: r樹,b樹,紅黑樹,四叉樹等
相關工具
mongodb對空間索引的支援
postgis
大資料挖掘與機器學習
回歸分類算法
邏輯回歸
線性svm
随機森林
梯度漸進決策樹(回歸)和地圖漸進決策樹(分類)
樸素貝葉斯
k近鄰
線性回歸
預測類算法
模型預測
模型評估: 混淆矩陣和roc曲線
回歸模型評估
統計分析算法
基本統計資訊
皮爾森系數
資料轉換算法
随機采用
切分表
水準拼接表
垂直拼接表
深度學習算法
cnn特征訓練
cnn特征抽取
cnn類目預測
圖像縮放
自然語言處理算法
分詞
詞頻統計
計算詞tf-idf值
生成文檔對應的主題
word2vec
圖算法
kcore算法
單源最短路徑sssp
pagerank算法
标簽傳播聚類labelpropagationclustering
标簽傳播分類labelpropagetionclassification
圖聚類評價名額modularity
節點聚類系數nodedensity
邊聚類系數edgedensity
最大聯通子徒
計算三角形
聚類算法
k均值聚類 kmeans
推薦算法
協同過濾
成果
家和公司
活躍區域
導航軌迹
出行偏好
個人首頁
人口遷徙
反爬蟲
轉自個人部落格goingio技術平台(http://www.goingio.com)