基於Spark快速構建數倉項目
重點問題
數據倉庫解決了什么業務問題,它和傳統數據庫的區別是什么?
對數據倉庫的基礎架構有大致的了解。
使用 Spark 可以構建數據倉庫的哪些核心能力?
如何使用 Spark Core/Streaming 擴展數據源?
如何使用 Spark 進行 OLAP?
哪些操作是窄依賴
數倉的特性有哪些
什么是數據倉庫
數據倉庫(Data Warehouse)是一個面向主題的(Subject Oriented)、集成的(Integrated)、相對穩定的(Non-Volatile)、反映歷史變化(Time Variant)的數據集合,用於支持管理決策(Decision Making Support)。 ——數據倉庫之父比爾·恩門
基於Spark集成數據源(ETL)
基於Spark SQL 進行OLAP分析
QA
從etl到事實表維表過程中,etl的結果也會在數倉中嗎? 那對於數據源表新增字段等ddl,有什么解決辦法嗎?
這是一個比較細節的技術問題,表結構變化了,原始數據怎么處理;其實這個要看具體的存儲模塊能不能解決了;新增字段這種場景下,如何能夠兼容老的數據結構(新增字段自動填充null),就可以解決;
碰到復雜的ETL邏輯的時候,比如說生成大寬表的時候,通常都是上百個字段,那spark sql適用這類的復雜邏輯么?
理論上SQL是能夠表達的,但是處理太過復雜。模型化的數據可以使用程序自動生成,對於這種上百列的數據任務處理起來會更容易一點;
spark sql能否實現表結構的合並、基於原有屬性派生新屬性等較復雜的數據轉換操作?
使用自定義 UDF