Spark 大数据处理最佳实践

1,202 阅读2分钟

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

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

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

内容框架:

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

**直播回放:**进入链接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
  • …..........

**参考网址:**spark.apache.org/docs/latest…

学会看 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 演示:

**参考文档:**help.aliyun.com/document\_d…

原文链接

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