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
本文为阿里云原创内容,未经允许不得转载。
Spark 大数据处理最佳实践的更多相关文章
- 《Spark大数据处理:技术、应用与性能优化 》
基本信息 作者: 高彦杰 丛书名:大数据技术丛书 出版社:机械工业出版社 ISBN:9787111483861 上架时间:2014-11-5 出版日期:2014 年11月 开本:16开 页码:255 ...
- 《Spark大数据处理:技术、应用与性能优化》【PDF】 下载
内容简介 <Spark大数据处理:技术.应用与性能优化>根据最新技术版本,系统.全面.详细讲解Spark的各项功能使用.原理机制.技术细节.应用方法.性能优化,以及BDAS生态系统的相关技 ...
- 《Spark大数据处理:技术、应用与性能优化》【PDF】
内容简介 <Spark大数据处理:技术.应用与性能优化>根据最新技术版本,系统.全面.详细讲解Spark的各项功能使用.原理机制.技术细节.应用方法.性能优化,以及BDAS生态系统的相关技 ...
- Spark大数据处理技术
全球首部全面介绍Spark及Spark生态圈相关技术的技术书籍 俯览未来大局,不失精细剖析,呈现一个现代大数据框架的架构原理和实现细节 透彻讲解Spark原理和架构,以及部署模式.调度框架.存储管理及 ...
- Spark大数据处理 之 从WordCount看Spark大数据处理的核心机制(1)
大数据处理肯定是分布式的了,那就面临着几个核心问题:可扩展性,负载均衡,容错处理.Spark是如何处理这些问题的呢?接着上一篇的"动手写WordCount",今天要做的就是透过这个 ...
- Spark大数据处理 之 动手写WordCount
Spark是主流的大数据处理框架,具体有啥能耐,相信不需要多说.我们开门见山,直接动手写大数据界的HelloWorld:WordCount. 先上完整代码,看看咋样能入门. import org.ap ...
- Spark大数据处理 之 从WordCount看Spark大数据处理的核心机制(2)
在上一篇文章中,我们讲了Spark大数据处理的可扩展性和负载均衡,今天要讲的是更为重点的容错处理,这涉及到Spark的应用场景和RDD的设计来源. Spark的应用场景 Spark主要针对两种场景: ...
- Spark大数据处理 之 RDD粗粒度转换的威力
在从WordCount看Spark大数据处理的核心机制(2)中我们看到Spark为了支持迭代和交互式数据挖掘,而明确提出了内存中可重用的数据集RDD.RDD的只读特性,再加上粗粒度转换操作形成的Lin ...
- Spark大数据处理框架入门(单机版)
导读 引言 环境准备 安装步骤 1.下载地址 2.开始下载 3.解压spark 4.配置环境变量 5.配置 spark-env.sh 6.启动spark服务 7.测试spark stay hungry ...
- ceph hadoop spark 大数据处理
http://docs.ceph.com/docs/giant/cephfs/hadoop/ https://indico.cern.ch/event/524549/contributions/218 ...
随机推荐
- Cesium之DrawCommand与绘制三角形
1. 引言 Cesium中的Command对象包含执行的指令参数和执行方法,Command对象主要有三类: ClearCommand DrawCommand ComputeCommand DrawCo ...
- LOTO任意波形发生器SIG82模拟输出继电器吸合断开的信号波形用于算法调试
LOTO任意波形发生器SIG82模拟输出继电器吸合断开的信号波形用于算法调试 继电器吸合的电流变化过程是如图这样的波形,0到2的时间大约为17毫秒,2到3的时间大约38毫秒. 批量继电器产品吸合是否满 ...
- 温馨提示:不注意这几点,PDT(产品开发团队)就得散!
在IPD(集成产品开发)体系中,PDT(Product Development Team,产品开发团队)发挥着至关重要的作用.PDT是一个跨部门.跨职能的协作团队,其成员来自不同的专业领域,包括研发. ...
- SPEL表达式注入分析
环境依赖 <dependencies> <dependency> <groupId>org.springframework</groupId> < ...
- 国民经济行业分类与代码(GB/T 4754-2002、GB/T 4754-2011、GB/T 4754-2017)并存入MySQL数据库【可获取下载】
戳链接下载:https://download.csdn.net/download/weixin_45556024/34913490 或关注公众号[靠谱杨阅读人生]回复[行业]获取. 整理不易,资源fu ...
- C++设计模式 - 装饰器(Decorator)
单一职责模式: 在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任. 典型模式 Decorator Bridge ...
- 在Ubuntu上安装MySQL
在Ubuntu上安装MySQL sudo apt update sudo apt install mysql-server 安装完成后,MySQL服务将自动启动.要验证MySQL服务器正在运行,请输入 ...
- #Kruskal重构树,主席树,倍增#洛谷 4197 Peaks
题目传送门 分析 首先第\(k\)大一般都是主席树 问题是困难值的限制有点束手无措 又是\(\text{Kruskal重构树}\) 将困难值为边权跑最小生成树,重新建树,实际上让困难值跳到尽量大的位置 ...
- 【Kotlin】函数
1 常规函数 1.1 无参函数 fun main() { myFun() } fun myFun() { println("myFun") // 打印: myFun } 1.2 有 ...
- Jetty的http3模块
启用http3模块,执行如下命令: java -jar $JETTY_HOME/start.jar --add-modules=http3 命令的输出,如下: ALERT: There are ena ...