Spark 大數據處理最佳實踐
內容框架:
大數據概覽
如何擺脫技術小白
Spark SQL 學習框架
EMR Studio 上的大數據最佳實踐
一、大數據概覽
大數據處理 ETL (Data → Data)
大數據分析 BI (Data → Dashboard)
機器學習 AI (Data → Model)
二、如何擺脫技術小白
什么是技術小白?
只懂表面,不懂本質
比如:只懂得參考別人的 Spark 代碼,不懂得 Spark 的內在機制,不懂得如何調優 Spark Job
擺脫技術小白的藥方
懂得運行機制
學會配置
學會看 Log
懂得運行機制:Spark SQL Architecture
學會配置:如何配置 Spark App
配置 Driver
spark.driver.memory
spark.driver.cores
配置 Executor
spark.executor.memory
spark.executor.cores
配置 Runtime
spark.files
spark.jars
配置 DAE
…..........
學會看 Log:Spark Log
三、Spark SQL 學習框架
Spark SQL 學習框架( 結合圖形/幾何)
1. Select Rows
2. Select Columns
3. Transform Column
4. Group By / Aggregation
5. Join
Spark SQL 執行計劃
1. Spark SQL - Where
2. Spark SQL - Group By
3. Spark SQL - Order by
四、EMR Studio 實踐
EMR Studio 特性:
兼容開源組件
支持連接多個集群
適配多個計算引擎
交互式開發 + 作業調度無縫銜接
適用多種大數據應用場景
計算存儲分離
1. 兼容開源組件
EMR Studio 在開源軟件 Apache Zeppelin,Jupyter Notebook, Apache Airflow 的基礎上優化了做了優化和增強。
2. 支持連接多個集群
一個 EMR Studio 可以連接多個 EMR 計算集群,您可以很方便地切換計算集群,提交作業到不同的計算集群上運行。
3. 適配多個計算引擎
自動適配 Hive、Spark、Flink、Presto、Impala 和 Shell 等多個計算引擎,無需復雜配置,多個計算引擎間協同工作
4. 交互式開發 + 作業調度無縫銜接
Notebook + Airflow : 無縫銜接開發環節和生產調度環節
利用交互式開發模式可以快速驗證作業的正確性.
在 Airflow 里調度 Notebook 作業,最大程度得保證開發環境和生產環境的一致性,防止由于開發階段和生產階段環境不一致而導致的問題。
5. 適用多種大數據應用場景
大數據處理 ETL
交互式數據分析
機器學習
實時計算
6. 計算存儲分離
所有數據都保存在 OSS 上,包括:
用戶 Notebook 代碼
調度作業 Log
即使集群銷毀,也可以重建集群輕松恢復數據