【Q&A】面對上億級別的用戶行爲數據,如何做到秒級響應分析

節前,Kyligence 的資深講師爲大家帶來了《面對上億級別的用戶行爲數據,如何做到秒級響應分析》線上分享,介紹瞭如何使用 Apache Kylin 進行用戶行爲分析。錯過直播的同學可以直接點擊這裏獲取視頻回放。

(以下爲現場Q&A)

Kylin 的使用

Q:Kylin 刷新的最小單位是什麼? 另外數據源可以用 MySQL 嗎?

A:Kylin 最小的刷新單位是 Segment,數據源可以選擇 MySQL

 

Q:請問 Kylin 如何獲取明細數據呢?

A:首先通過 intersect_value 計算出用戶 UID,之後根據 UID 查詢明細

 

Q:Kylin 3.0支持實時了,如何做數據刪除和更新,歷史數據如何處理?能介紹一下嗎?

A:Kylin 的實時功能支持 lambda 模式,用戶在數據經過 ETL 後,需要更新 cube 的數據,可以通過創建一個 lambda 表,通過刷新 lambda 表,來實現 cube 數據的更新具體用法參考我們的教程

 

Q:Hive 表的其中一個字段是數組,Kylin 可以將這個字段拆分出來麼?

A:Kylin 不支持這個功能,只支持基礎數據類型

 

Q:Kylin 的結果如何通過 PowerBI 展示,需要什麼支持的?

A:通過 PowerBI 使用開源 Kylin,可以裝 Kylin ODBC Driver,使用 PowerBI 通用 ODBC 接口,開源 Kylin 只有使用 PowerBI import 模式(PowerBI有 import + direct query 兩種模式),商業版 Kyligence 兩種模式都支持

 

Q:在 BI 分析工具中還能繼續做篩選嗎?

A:現在 BI 工具不支持在同一個列上做多個篩選器,行爲分析,現有的 BI 工具支持不完善,需要做自研開發

 

Q:UDAF 的實現有參考文檔嗎?

A:請參考 Calcite 官方文檔

 

Q:假設表結構修改了,Kylin 能感知到嗎?

A:需要手動刷新同步表結構,但是如果 cube 已經有數據,是不能同步的。

 

Q:model 和 cube 的區別是什麼呀?

A:比較像面向對象中的 Class 類與類實例之間的關係,一個Class 類可以 new 出很多個實例,同樣的一個 model 可以創建很多個 cube,model 是模型,cube 是具體的預計算方式和結果

Kylin 的性能優化

 

Q:這個函數的使用對於用戶基礎過大的情況是否會存在數據膨脹過大的情況?

A:對於用戶基數高的不會,對於維度基數高的會存在,但可以通過設置必要維度,層級維度與聯合維度進行控制

 

Q:Kylin 自動化構建是不是也需要外部腳本或者程序定時調度?

A:需要外部調度

 

Q:寬表是 cube 裏的一個關聯表,還是最終 cube 存儲成了一個寬表?

A:所謂寬表是數據源上的寬表,Kylin cube 設計可以只有一個事實表,也可以是星型模型

 

Q:大規模數據中,如果字典表更新了之前 cube 跑過的數據怎麼辦呢,有麼有辦法可以快速重新構建的辦法?

A:目前只能重新構建

 

Q:union 前後的 select 查詢是串行執行還是並行執行的?

A:目前還是串行方式

 

Q:HBase 裏存的是維表的快照嗎?如果維表更新了又要重跑怎麼辦?

A:HBase 中存放的是 Cuboid 數據,如果維表更新了,需要重新構建維表的存儲是有兩種方式除了HBase 還有 meta store,具體請參考官網說明。如果在建模時有維度表的字段選爲 normal,那麼維表更新是必須刷新 cube ,如果維表的字段全部爲 derived,那麼是不需要刷新 cube

 

Q:Kylin 的 rowkey 應該是多維度組合生成的,HBase 對點查支持的好,但是大範圍維度查詢不友好,Kylin 在查詢多維度組合的 Cuboid 時,涵蓋很多條件時會不會很慢?

A:不一定,這個要看 rowkey 的設計,在設計 rowkey 的時候最好能結合查詢,把經常查尋的字段和基數比較大的字段往前放,還可以通過 shard 字段切分數據做相應的優化

intersect_count 函數的使用

Q:用 intersect_count 和直接在 where 裏寫 and 和 or 條件的性能是一樣的麼?

A:有where 篩選條件,效率會高一點.如果有 where 條件,會首先進行一次過濾,之後再運行 intersect_count

 

Q:Tableau、Power BI 查詢 Kylin 的話也有 intersect_count 函數嗎?

A:Tableau、Power BI 沒有內置 intersect_count 函數,但是可以通過直接查詢模式使用

發佈了119 篇原創文章 · 獲贊 11 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章