在内存计算时代,看阿里如何用Spark来进行实践与探索

简介: 本文PPT来自阿里云技术专家曹龙(花名:封神)于10月16日在2016年杭州云栖大会上发表的《阿里巴巴Spark实践与探索——内存计算时代》。

本文PPT来自阿里云技术专家曹龙(花名:封神)于10月16日在2016年杭州云栖大会上发表的《阿里巴巴Spark实践与探索——内存计算时代》。

随着数据爆发式地增长,如何处理大量的数据成为一项挑战。在此背景下,许多数据处理技术应运而生,这其中典型的技术有数据治理、作业管理、分布式计算和分布式储存等等。同时,许多优秀的分布式引擎也被人们开发出来,比如Hadoop、Spark、Flink和 Tez。其中Spark的实力不容小觑。

Spark从1.0到2.0经历了重大的架构变化,其链路和核心得到了不断地完善。同时,Spark在阿里也得到了快速的成长,从10年阿里初步尝试Spark,使用10台机器,利用Spark Mllib进行机器学习,到12年的Spark on Yarn, 规模达到100-400台,使用Spark Streaming、Spark Graphx技术;从14年实现内存计算,到现在发展出了E-MapReduce for Spark,开始对公共云提供服务,这一系列的快速的发展是大家有目共睹的。目前,Spark已经具备了诸多优良的特性,如弹性伸缩、与业务系统无缝结合等等,并且已经被部署在许多不同的场景,如机器学习、流式计算、即时查询等等。将场景划分,针对不同场景所消耗的资源的差异来优化,使存储与计算分离,以达到高灵活性、低成本、高性能的目的,这便是Spark在云上的最佳实践。

展望未来,Spark将进一步发展。不久,Spark自身将支持ANSI SQL、其性能将接近MPP数据仓库、将落实“一切基于优化”的理念、增加对新硬件如大内存、GPU等的支持并且更友好地支持云,以拥抱内存计算新时代。

63541879696e0e5354c7b1c6ed381b12226dd965

54c441912e98259d067592825f392b694a138171

8861dbb20d33939f9860df8360376969f6ef0522

e90379494958616c2e5f7e07332508fe08c6b2c1

da67b44758f2f841b473c2f787967602a8f8cba4

5eb2538c552f9580998358bc3151885c6bf4d27b

dda3a3ff590a728cad314b35f797d7c91ea778d4

78857908a05a9b89e00c3b040531276cbefefe02

12a993bc0d4d395d0f65f4034486f1233feb3460

5f894a053fcbc599520accb323191a6f0311d612

bd60583fd1795bd39e0d8ce996cb70165c72891a

1819a8ff0b19ac1d294999637533923556dc30ed

586a1542fee7be5422cab0e867d053bfda5973a5

13ee769130ecb6d32634b6f1d29552c2236e0201

c301d020c1e4fe0d674ee3379dd3673773e48a84





相关文章
|
27天前
|
存储 算法 Linux
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
58 5
|
14天前
|
存储 算法
深入理解操作系统内存管理:原理与实践
【4月更文挑战第8天】 在现代计算机系统中,操作系统扮演着关键角色,特别是在内存资源的管理上。本文将深入探讨操作系统中的内存管理机制,包括虚拟内存、物理内存的分配与回收,以及页面置换算法等关键技术。通过分析不同内存管理策略的优势与局限性,本文旨在为读者提供一套系统的内存管理知识框架,帮助理解操作系统如何高效、安全地管理有限的内存资源以满足多任务处理的需求。
|
21天前
|
存储 算法 安全
深入理解操作系统内存管理:原理与实践
【4月更文挑战第2天】 在现代计算机系统中,操作系统的内存管理是核心功能之一,它负责协调和分配系统内存资源。本文将探讨操作系统内存管理的基本原理,包括内存的分配与回收、分页机制、虚拟内存的使用以及内存保护。通过对这些概念的细致剖析,我们不仅能够理解操作系统如何高效利用有限的物理内存,还能够认识到内存管理对系统稳定性和性能的重要性。文章还将简要讨论现代操作系统中内存管理的创新趋势及其对未来计算技术的潜在影响。
14 2
|
1月前
|
算法
深入理解操作系统内存管理:从理论到实践
【2月更文挑战第30天】 在现代计算机系统中,操作系统的内存管理是确保系统高效、稳定运行的关键。本文将深入探讨操作系统内存管理的理论基础,包括分页机制、虚拟内存、物理内存分配策略以及内存交换技术。文章旨在提供一个全面的视角,帮助读者理解内存管理的重要性及其在操作系统设计中的应用。通过对内存管理技术的详细解析,我们将展示如何优化系统性能,提高内存利用率,并减少内存碎片的问题。
|
1月前
|
消息中间件 Linux
Linux进程间通信(IPC)教程 Linux共享内存介绍:介绍POSIX共享内存的基本概念、用途和编程实践
Linux进程间通信(IPC)教程 Linux共享内存介绍:介绍POSIX共享内存的基本概念、用途和编程实践
22 2
|
1月前
|
Java 编译器 Go
Go语言内存管理优化实践
【2月更文挑战第11天】随着Go语言在各个领域的应用日益广泛,对其性能的要求也越来越高。内存管理作为影响程序性能的关键因素之一,对Go语言的优化显得尤为重要。本文将深入探讨Go语言的内存管理机制,并提供一系列实用的内存优化策略,帮助开发者更加高效地利用内存资源,提升Go程序的整体性能。
|
5月前
|
存储 缓存 Linux
linux下定位多线程内存越界问题实践总结
linux下定位多线程内存越界问题实践总结
|
7月前
|
缓存 监控 JavaScript
IM跨平台技术学习(九):全面解密新QQ桌面版的Electron内存优化实践
本文我们将和大家分享新版 QQ 在内存优化方面的探索和阶段性优化进展。虽然本文的讨论主要集中在 Windows 平台,但由于 Electron 的跨平台特性,大部分优化措施也同样适用于 macOS 和 Linux 平台。
120 0
|
7月前
|
消息中间件 Linux
Linux进程间通信(下)之共享内存实践
Linux进程间通信(下)之共享内存实践
112 1
|
8月前
|
分布式计算 监控 Java
Spark学习---7、Spark内核(源码提交流程、任务执行、Shuffle、内存管理)(一)
Spark学习---7、Spark内核(源码提交流程、任务执行、Shuffle、内存管理)(一)