開源大數據社區 & 阿里雲 EMR 系列直播 第十一期
主題:Spark 大數據處理最佳實踐
講師:簡鋒,阿里雲 EMR 數據開發平台 負責人
內容框架:
- 大數據概覽
- 如何擺脫技術小白
- Spark SQL 學習框架
- EMR Studio 上的大數據最佳實踐
直播回放:進入鏈接https://developer.aliyun.com/live/247072
一、大數據概覽
- 大數據處理 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
- …..........
參考網址:https://spark.apache.org/docs/latest/configuration.html
學會看 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
- 即使集群銷毀,也可以重建集群輕松恢復數據

EMR Studio Demo 演示:
參考文檔:https://help.aliyun.com/document_detail/208107.html?spm=a2c4g.11186623.6.845.6cfc24577t1RbI
本文為阿里雲原創內容,未經允許不得轉載。
