1. 程式人生 > 其它 >Spark 大資料處理最佳實踐

Spark 大資料處理最佳實踐

開源大資料社群 & 阿里雲 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

原文連結

本文為阿里雲原創內容,未經允許不得轉載。