典型資料智慧專案的資料流程介紹
阿新 • • 發佈:2019-02-03
目前我在某大型網際網路公司的AI事業部的資料智慧組,主要業務是利用內部資料進行ai業務開發,最近由於內部原因暫時手頭工作不是很忙,閒下來整理下這個基本已經初具模型的ai資料業務的整個資料流程。
資料流程
首先對整個專案的資料流做下闡述,整個流程如下所示:
1. 資料來源
資料通過Nginx反向代理將http服務傳送的log日誌資訊儲存在伺服器本地,運維使用的是logrotate工具
2. 資料處理
這裡是整個專案的核心,包括資料清洗、hive資料倉庫搭建、特徵提取、模型運算、資料分析等等
具體的流程是:
- 利用data_stream(flume)將本地的log日誌資料上傳至大資料開發平臺的hdfs叢集
- 在大資料開發平臺上用spark、hive進行資料清洗
- hive資料倉庫搭建,清洗完的資料落入相應表格中
- 業務特徵抽取
- 演算法模型計算、資料分析計算
- 結果儲存
涉及到的處理語言和技術除演算法領域外有azkaban、spark、hive、hadoop、python、java、linux shell等
3. 結果處理
這一塊的話分為2個方向:
圖表展示:一般的話會用到資料視覺化的技術、但由於公司內部本身已經有了成熟的資料視覺化的產品,所以直接在上面展示和分析
結果反饋:
4. 額外資料
主要是利用爬蟲去獲取一些額外資料,例如廣告投放效果反饋資料等
總結
本身對於大資料的處理和儲存已經有成熟的開源產品(hadoop)和平臺(ambrai、hdp),也有商業化較為成熟的產品例如(阿里雲數加平臺、網易猛獁、網易有數等),所以現在在處理資料大資料相關的問題上較為方便快捷,直接使用成熟的產品進行開發即可,工作量主要集中在資料的ETL、hive倉庫構建、演算法建模(特徵計算、提取等)、結果的應用(圖表或者其他方向,這其中又涉及到了BI的內容)
後期的工作方向主要是2塊:
- 對於演算法的改進和更新
- 工程上如何進行快速的部署和應用甚至是產品化