Spark 大数据处理最佳实践

Posted 阿里云云栖号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark 大数据处理最佳实践相关的知识,希望对你有一定的参考价值。

开源大数据社区 & 阿里云 EMR 系列直播 第十一期

主题:Spark 大数据处理最佳实践

讲师:简锋,阿里云 EMR 数据开发平台 负责人

内容框架:

  • 大数据概览
  • 如何摆脱技术小白
  • Spark SQL 学习框架
  • EMR Studio 上的大数据最佳实践

直播回放:进入链接https://developer.aliyun.com/live/247072

一、大数据概览

  • 大数据处理 ETL (Data  → Data)
  • 大数据分析 BI   (Data  →  Dashboard)
  • 机器学习    AI   (Data  →  Model)

image.png

二、如何摆脱技术小白

什么是技术小白?

  • 只懂表面,不懂本质

比如:只懂得参考别人的 Spark 代码,不懂得 Spark 的内在机制,不懂得如何调优       Spark Job

摆脱技术小白的药方

  • 懂得运行机制
  • 学会配置
  • 学会看 Log

懂得运行机制:Spark SQL Architecture

image.png

学会配置:如何配置 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

image.png

三、Spark SQL  学习框架

Spark SQL 学习框架( 结合图形/几何)

1. Select Rows

image.png

image.png

2. Select Columns

image.png

image.png

3. Transform Column

image.png

image.png

4. Group By / Aggregation

image.png

image.png

5. Join

image.png

image.png

Spark SQL 执行计划

1. Spark SQL - Where

image.png

2. Spark SQL - Group By

image.png

3. Spark SQL - Order by

image.png

四、EMR Studio 实践

EMR Studio 特性:

  • 兼容开源组件
  • 支持连接多个集群
  • 适配多个计算引擎
  • 交互式开发 + 作业调度无缝衔接
  • 适用多种大数据应用场景
  • 计算存储分离

1. 兼容开源组件

  • EMR Studio 在开源软件 Apache Zeppelin,Jupyter Notebook, Apache Airflow 的基础上优化了做了优化和增强。

image.png

2. 支持连接多个集群

  • 一个 EMR Studio 可以连接多个 EMR 计算集群,您可以很方便地切换计算集群,提交作业到不同的计算集群上运行。

image.png

3. 适配多个计算引擎

  • 自动适配 Hive、Spark、Flink、Presto、Impala 和 Shell 等多个计算引擎,无需复杂配置,多个计算引擎间协同工作

image.png

4. 交互式开发 + 作业调度无缝衔接

Notebook + Airflow : 无缝衔接开发环节和生产调度环节

  • 利用交互式开发模式可以快速验证作业的正确性.
  • 在 Airflow 里调度 Notebook 作业,最大程度得保证开发环境和生产环境的一致性,防止由于开发阶段和生产阶段环境不一致而导致的问题。

image.png

5. 适用多种大数据应用场景

  • 大数据处理 ETL
  • 交互式数据分析
  • 机器学习
  • 实时计算

6. 计算存储分离

  • 所有数据都保存在 OSS 上,包括:

     • 用户 Notebook 代码

     • 调度作业 Log

  • 即使集群销毁,也可以重建集群轻松恢复数据

image.png

EMR Studio  Demo 演示:

参考文档:https://help.aliyun.com/document_detail/208107.html?spm=a2c4g.11186623.6.845.6cfc24577t1RbI

原文链接

本文为阿里云原创内容,未经允许不得转载。

以上是关于Spark 大数据处理最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

Spark最佳实践之如何有效分配资源

Spark最佳实践之如何有效分配资源

Spark最佳实践之如何有效分配资源

阿里大数据云原生化实践,EMR Spark on ACK 产品介绍

在 Python/PySpark 中 Spark 复制数据框列的最佳实践?

KafkaHDFS在PB级大数据实时/离线存储平台的最佳实践