1. 程式人生 > >典型資料智慧專案的資料流程介紹

典型資料智慧專案的資料流程介紹

目前我在某大型網際網路公司的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個方向:

       圖表展示:一般的話會用到資料視覺化的技術、但由於公司內部本身已經有了成熟的資料視覺化的產品,所以直接在上面展示和分析

       結果反饋:

該專案是精準定點廣告投放業務,演算法模型的最終結果是廣告投放名單,所以拿到結果之後需要將這些名單發給廣告平臺進行投放,具體操作是使用廣告平臺提供的http api進行傳送

         4. 額外資料

       主要是利用爬蟲去獲取一些額外資料,例如廣告投放效果反饋資料等

總結

本身對於大資料的處理和儲存已經有成熟的開源產品(hadoop)和平臺(ambrai、hdp),也有商業化較為成熟的產品例如(阿里雲數加平臺、網易猛獁、網易有數等),所以現在在處理資料大資料相關的問題上較為方便快捷,直接使用成熟的產品進行開發即可,工作量主要集中在資料的ETL、hive倉庫構建、演算法建模(特徵計算、提取等)、結果的應用(圖表或者其他方向,這其中又涉及到了BI的內容)

後期的工作方向主要是2塊:

  • 對於演算法的改進和更新
  • 工程上如何進行快速的部署和應用甚至是產品化