大數據環境下互聯網行業數據倉庫/數據平臺的架構之漫談-續 – lxw的大數據田地
http://lxw1234.com/archives/2016/07/703.htm
數據采集
對于關系型數據庫以及部分NOSQL(Redis、MongoDB)中的數據,仍然使用DataHub按天、按小時,增量抽取到HDFS,映射到Hive表;
對于日志數據,使用Flume從日志收集服務器實時抽取到Kafka,再使用Flume,從Kafka抽取到HDFS,映射到Hive表;
離線計算
離線計算%80以上使用Hive,部分新業務使用SparkSQL,很少一部分老的業務仍然使用MR;
離線計算的結果,根據業務用途不同,分別保存在Hive、Redis以及業務關系型數據庫中;
實時計算
實時計算使用Spark Streaming以及部分Java程序消費Kafka中收集的日志數據,實時計算結果大多保存在Redis中;
多維分析OLAP
之前基本采用固定報表、固定計算、臨時數據提取等方式來滿足業務數據分析的需求,隨著業務發展,該模式的成本越來越大,也存在很多問題。
現在使用Kylin作為OLAP引擎,數據開發人員在Hive數據倉庫中設計好事實表,維度表,在Kylin中設計好Cube,每天將數據由Hive加載到Kylin,數據分析、產品運營通過Kylin來完成90%以上的數據分析需求,對于一些特別復雜和定制的需求,才會提臨時需求給數據開發。
另外,使用Caravel經過簡單的二次開發,作為OLAP的前端,用戶不用寫SQL,即可完成數據多維分析與可視化。
機器學習
目前只使用了Spark MLlib提供的機器學習算法,完成了文本分類的需求。
Ad-Hoc查詢
在Hive的基礎上,也提供了SparkSQL的方式,主要是給數據開發以及懂SQL的數據分析和運營提供更快的Ad-Hoc查詢響應。
數據可視化
基于Caravel做了二次開發,提供近20種數據可視化圖表。
底層基于DataHub、Kylin,用戶還可以自助數據接入、自助建模、自助分析與可視化。