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