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

節(jié)前,Kyligence 的資深講師為大家?guī)砹恕睹鎸ι蟽|級別的用戶行為數據,如何做到秒級響應分析》線上分享,介紹了如何使用 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 的數據,可以通過創(chuàng)建一個 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 兩種模式),商業(yè)版 Kyligence 兩種模式都支持

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

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

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

A:請參考 Calcite 官方文檔

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

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

Q:model 和 cube 的區(qū)別是什么呀?

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

Kylin 的性能優(yōu)化

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

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

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

A:需要外部調度

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

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

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

A:目前只能重新構建

Q:union 前后的 select 查詢是串行執(zhí)行還是并行執(zhí)行的?

A:目前還是串行方式

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

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

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

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

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 函數,但是可以通過直接查詢模式使用

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容