Spark 大資料處理最佳實踐
阿新 • • 發佈:2021-07-20
開源大資料社群 & 阿里雲 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
本文為阿里雲原創內容,未經允許不得轉載。