Apache Kylin的核心概念
生活随笔
收集整理的這篇文章主要介紹了
Apache Kylin的核心概念
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
?
不多說,直接上干貨!
?
?
1、表(table):This is definition of hive tables as source of cubes,在build cube 之前,必須同步在 kylin中。2、模型(model):模型描述了一個星型模式的數據結構,它定義了一個事實表(Fact Table)和多個查找表(Lookup Table)的連接和過濾關系。
3、 Cube 描述:描述一個Cube實例的定義和配置選項,包括使用了哪個數據模型、包含哪些維度和度量、如何將數據進行分區、如何處理自動合并等等。
4、Cube實例:通過Cube描述Build得到,包含一個或者多個Cube Segment。
5、分區(Partition):用戶可以在Cube描述中使用一個DATA/STRING的列作為分區的列,從而將一個Cube按照日期分割成多個segment。
6、立方體段(cube segmetn):它是立方體構建(build)后的數據載體,一個 segment 映射hbase中的一張表,立方體實例構建(build)后,會產生一個新的segment,一旦某個已經構建的立方體的原始數據發生變化,只需刷新(fresh)變化的時間段所關聯的segment即可。
7、聚合組:每一個聚合組是一個維度的子集,在內部通過組合構建cuboid。
8、作業(job):對立方體實例發出構建(build)請求后,會產生一個作業。該作業記錄了立方體實例build時的每一步任務信息。作業的狀態信息反映構建立方體實例的結果信息。如作業執行的狀態信息為RUNNING 時,表明立方體實例正在被構建;若作業狀態信息為FINISHED ,表明立方體實例構建成功;若作業狀態信息為ERROR ,表明立方體實例構建失敗!
DIMENSION & MEASURE的種類
- Mandotary:強制維度,所有cuboid必須包含的維度。
- Hierarchy:層次關系維度,維度之間具有層次關系性,只需要保留一定層次關系的cuboid即可。
- Derived:衍生維度,在lookup 表中,有一些維度可以通過它的主鍵衍生得到,所以這些維度將不參加cuboid的構建。
- Count Distinct(HyperLogLog) :直接進行count distinct是很難去計算的,一個近似的算法HyperLogLog可以保持錯誤率在一個很低的范圍內。
- Count Distinct(Precise):將基于RoaringBitMap進行計算,目前只支持int和BigInt。
?
Cube Action種類
- BUILD:給定一個分區列指定的時間間隔,對Cube進行Build,創建一個新的cube Segment。
- REFRESH:這個操作,將在一些分期周期內對cube Segment進行重新build。
- MERGE:這個操作將合并多個cube segments。這個操作可以在構建cube時,設置為自動完成。
- PURGE:清理一個Cube實例下的segment,但是不會刪除HBase表中的Tables。
?
Job狀態
NEW:表示一個job已經被創建。 PENDING:表示一個job已經被job Scheduler提交,等待執行資源。
RUNNING:表示一個job正在運行。 FINISHED:表示一個job成功完成。
ERROR:表示一個job因為錯誤退出。 DISCARDED:表示一個job被用戶取消。
?
Job執行
RESUME:這個操作將從失敗的Job的最后一個成功點繼續執行該Job。 DISCARD:無論工作的狀態,用戶可以結束它和釋放資源。
轉載于:https://www.cnblogs.com/zlslch/p/7404416.html
總結
以上是生活随笔為你收集整理的Apache Kylin的核心概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP 获取JSON json_deco
- 下一篇: j2ee之原生AJAX