首先需要建立 ETL Pipeline 資料通道。
1.資料提取(Extract)
2.資料轉換(Transform)和資料儲存(Loading)
我們使用 Apache Cassandra 對已經處理的資料進行建模
這樣我們就可以使用 query 語句去獲取我們想要的結果。在 NoSQL 資料庫中建立資料表格通常是基於 query 語句建立的,也就是最終我們想要獲取什麼樣的資料。
下面我們透過具體的例子來學習如何建立表格以及如何使用 query 語句獲取資料。
1.獲取 sessionId = 338 和 itemInSession = 4 時,使用者聽歌曲的藝術家名,歌曲標題和歌曲的長度。
2.獲取 userid = 10,sessionid = 182時,使用者所聽歌曲的歌手名,歌曲名(按itemInSession排序)和使用者名稱
這裡我們使用組合鍵定義 PRIMARY KEY ((user_id, session_id), item_in_session))
這樣 query 語句將返回所有滿足條件的條目,如果定義為 PRIMARY KEY (user_id, session_id)
將僅返回最後一條滿足條件的語句,而不是四個條目資料。
到這裡我們已經瞭解如何使用 Apache Cassandra 對 音樂 app 收集的使用者使用資訊進行建模。
雖然我們使用的資料相對簡單,但所有的 app 收集使用者資訊,透過分析使用者資料資訊進行推薦、資料分析、和使用者習慣分析的資料建模是一樣的流程。
下一步就可以透過我們建模的資料,對資料進行分析和處理了。
為我們自己加油吧
原始碼可以從我的GitHub下載:
https://github.com/tomgtqq/DEND-P1-Data-Modeling-With-Cassandra
我之間寫的一篇關於廣告推薦演算法的文章:
https://www.linkedin.com/pulse/%E5%B9%BF%E5%91%8A%E6%8E%A8%E9%80%81%E7%AE%97%E6%B3%95-starbucks-capstone-challenge-tom-ge/