第2课:通过案例对SparkStreaming 透彻理解三板斧之二:解密SparkStreaming运行机制和架构

第2课:通过案例对SparkStreaming 透彻理解三板斧之二:解密SparkStreaming运行机制和架构解密Spark Streaming运行机制解密Spark Streaming架构 我们谈到技术界的寻龙点穴,每个领域都有自己的龙脉,Spark就是大数据的龙脉之所在,它的龙穴或者关键点就是Spark Streaming。上一节课我们采用了降维的方式,所谓降维就是把时间放大,将时间放长的...
阅读(26) 评论(0)

Spark集群中Mapper端、Reducer端内存调优

第23章Spark集群中Mapper端、Reducer端内存调优本章主要讲解如下内容:l  Spark集群中Mapper端内存调优最佳实践;l  Spark集群中Reducer端内存调优最佳实践。22   23   23.1  Mapper端内存调优本节讲解Spark集群中Mapper端内存使用详解以及性能调优最佳实践。23.1.1       Spark集群中Mapper端内存使用详解Spark...
阅读(51) 评论(0)

anaconda 和 python 安装;jupyter 开发环境的使用

1\anaconda 和 python 安装1.操作系统:win7,配置环境时需要联网。2.anaconda 安装anaconda 下载地址:https://www.continuum.io/downloads/。根据电脑的操作系统位数,选择下载 32 位和 64 位的 anaconda;安装 anaconda 到 D:\anaconda 文件夹下。3. 配置环境 python3.6运行“开始\所...
阅读(75) 评论(0)

Spark 2.2.0 SQL的运行过程(源码解密)

1、     Spark SQL的运行过程接下来我们看一下Spark SQL的运行过程,Spark  SQL 的运行架构如图 27- 2所示: 图 27- 2 SQL 的运行架构通过初步解析不同来源的数据变为UnresolvedLogical Plan(此过程会提取关键字,检查基本的语法,如果有问题下一步直接不能运行),进一步解析语法树生成...
阅读(60) 评论(0)

Spark Release 2.2.0 最新版本发布,Spark 2.2.0是Spark 2.x中第一个在生产环境可以使用的版本,对于Spark具有里程碑意义

第2章 Spark 2.X技术及原理 Apache官方网站于2017年7月11日发布了Spark Release 2.2.0版本, Apache Spark 2.2.0版本是Spark 2.x系列上的第三个版本。Spark 2.2.0是Spark 2.x中第一个在生产环境可以使用的版本,对于Spark具有里程碑意义。Spark 2.2.0版本中 Structured Streaming 的实验性标...
阅读(150) 评论(0)

数据倾斜解决方案之六:使用随机数进行Join

30.7数据倾斜解决方案之六:使用随机数进行Join本节讲解使用随机数进行Join,首先讲解什么叫使用随机数进行Join来解决数据倾斜问题,然后讲解如何使用随机数?使用随机数进行Join来解决数据倾斜问题使用场景、案例实战、注意事项等内容。30.7.1什么叫使用随机数进行Join来解决数据倾斜问题?        使用随机数进行Join来解决数据倾斜问题:如果2个RDD的数据中某个Key或者某几个...
阅读(86) 评论(0)

数据倾斜解决方案之三:使用随机Key实现双重聚合

数据倾斜解决方案之三:使用随机Key实现双重聚合本节讲解使用随机Key实现双重聚合,首先讲解什么是随机Key双重聚合;接下来讲解使用随机Key实现双重聚合解决数据倾斜的适用场景、原理分析、案例实战以及使用随机Key实现双重聚合解决数据倾斜注意事项等内容。30.4.1 什么是随机Key双重聚合?随机Key双重聚合是指:Spark分布式计算对RDD调用reduceByKey各算子进行计算,使用对Key...
阅读(204) 评论(0)

Spark面试经典系列之数据倾斜解决方案的“银弹”是什么? 本节我们对Spark数据倾斜解决方案进行回顾和总结

Spark面试经典系列之数据倾斜解决方案的“银弹”是什么? 本节我们对Spark数据倾斜解决方案进行回顾和总结:1、   数据倾斜运行的症状和危害。如果发行数据倾斜,往往发现作业任务运行特别缓慢,出现OOM内存溢出等现象。2、   如果两个RDD进行操作,其中1个RDD数据不是那么多,我们把这个RDD的数据以广播变量的形式包裹起来,广播给整个Cluster集群。这样就可以和另外一个RDD进行map...
阅读(122) 评论(0)

第139课: Spark面试经典系列之数据倾斜解决之对于两个RDD数据量都很大且倾斜的Key特别多如何解决?

第139课:  Spark面试经典系列之数据倾斜解决之对于两个RDD数据量都很大且倾斜的Key特别多如何解决?如果两个RDD的数据量都特别大而且倾斜的Key特别多如何解决:数据量特别大就无法把其中的一个RDD广播出去;如果倾斜的Key值特别多,就无法采用分而治之等方法。例如微信上有海量的数据、淘宝上有海量的数据,如果进行全网扫描就可能遇到这种情况,因为热点特别多,有成千上万个热点。...
阅读(103) 评论(0)

27.1.1.3 Spark SQL 中ANTLR4的应用

27.1.1.3 Spark SQL 中ANTLR4的应用ANTLR是一个强大的解析器生成器,可用于读取,处理,执行或翻译结构化文本或二进制文件。它广泛应用于学术界和工业界,建立各种语言,工具和框架。例如:Twitter搜索使用ANTLR进行查询解析,每天有超过2亿次查询。Hive和Pig语言,Hadoop的数据仓库和分析系统都使用ANTLR。Lex Machina使用ANTLR从法律文本中提取信...
阅读(207) 评论(0)

Spark性能调优之数据倾斜调优一站式解决方案原理与实战

第29章Spark性能调优之数据倾斜调优一站式解决方案原理与实战29.1为什么说数据倾斜是分布式大数据系统的性能噩梦?大数据有基本的三个特性:第一个是数据多样化,有着不同类型的数据,其中包括结构化和非结构化数据;第二个就是庞大的数据量;第三就是数据的流动性,从批处理到流处理。一般在处理大数据的时候都会面对这三个特性的问题,而Spark就是基于内存的分布式计算引擎,以处理高效和稳定著称,是目前处理大...
阅读(1337) 评论(1)

Spark 2.1.0新一代Tungsten 内存管理的模型及其实现类的解析

9.2.2内存管理的模型及其实现类的解析在2016年1月4号发布的 Spark 1.6中,提出了一个新的内存管理模型,即统一内存管理管理模型,对应在Spark 1.5 及之前的版本则使用静态的内存管理模型。关于新的统一内存管理模型,可以参考https://issues.apache.org/jira/secure/attachment/12765646/unified-memory-managem...
阅读(279) 评论(1)

第9章 Spark 2.1.0新一代Tungsten优化引擎彻底解析

第9章  Spark 2.1.0新一代Tungsten优化引擎彻底解析  1.1      概述Spark作为一个一体化多元化的大数据处理通用平台,性能一直是其根本性的追求之一,Spark基于内存迭代(部分基于磁盘迭代)的模型极大的满足了人们对分布式系统处理性能的渴望,Spark是采用Scala+ Java语言编写的,所以运行在JVM平台。当然JVM是一个绝对伟大的平台,因为JVM让整个离散的主机...
阅读(286) 评论(0)

join不产生Shuffle的情况及案例实战

2.9 join不产生Shuffle的情况及案例实战2.9.1 join在什么情况下不产生Shuffle及其运行原理在大数据处理场景中,多表Join是非常常见的一类运算。为了便于求解,通常会将多表join问题转为多个两表连接问题。两表Join的实现算法非常多,一般我们会根据两表的数据特点选取不同的join算法,其中,最常用的两个算法是map-side join和reduce-side join。m...
阅读(179) 评论(0)

11.2 Spark与Alluxio整合原理与实战

l   11.2  Spark与Alluxio整合原理与实战  11.2.1Spark与Alluxio整合原理          Alluxio,以前称为Tachyon,是世界上第一个内存速度虚拟分布式存储系统。它统一数据访问和桥接计算框架和底层存储系统。应用程序只需要连接Alluxio来访问存储在任何底层存储系统中的数据。此外,Alluxio以内存为中心的架构使数据访问速度比现有解决方案更快。在...
阅读(258) 评论(0)

Spark与Job Server整合原理与实战

11.3   Spark与Job Server整合原理与实战 11.3.1Spark与Job Server整合原理     Spark-jobserver 提供了一个 RESTful 接口来提交和管理 spark 的 jobs、jars 和 job contexts。Spark-jobserver项目包含了完整的 Spark job server 的项目,包括单元测试和项目部署脚本。       ...
阅读(239) 评论(0)

8.3 Task全生命周期详解

8.3   Task全生命周期详解     8.3.1 Task的生产过程详解  Task的生产过程详解:1,  当Driver中的CoarseGrainedSchedulerBackend给CoarseGrainedExecutorBackend发送LaunchTask之后,CoarseGrainedExecutorBackend在收到LaunchTask消息后,首先会反序列化TaskDescr...
阅读(187) 评论(0)

8.4.2 ResultTask执行结果与Driver的交互原理及源码详解

8.4.2 ResultTask执行结果与Driver的交互原理及源码详解    Task的run方法调用的时候会导致Task的抽象方法runTask的调用, Task.scala的runTask方法是一个抽象方法。Task包括2种Task:ResultTask、ShuffleMapTask,抽象runTask方法具体的实现由子类的runTask实现。ResultTask的runTask具体实现源...
阅读(163) 评论(0)

ShuffleMapTask执行结果和Driver的交互原理及源码

ShuffleMapTask执行结果和Driver的交互原理及源码Driver中的CoarseGrainedSchedulerBackend给CoarseGrainedExecutorBackend发送launchTasks消息,CoarseGrainedExecutorBackend收到launchTasks消息以后会调用executor.launchTask。 通过launchTask来执行T...
阅读(144) 评论(0)

Shuffle 与 Storage 模块间的交互

7.6   Shuffle 与 Storage 模块间的交互  在Spark中存储模块被抽象成Storage,顾名思义,Storage是存储的意思,代表着Spark中的数据存储系统,负责管理和实现数据块(Block)的存放。其中存取数据的最小单元是Block,数据由不同的Block组成,所有操作都是以Block为单位进行的。本质上讲RDD中的Partition和Storage中的Block是等价的...
阅读(152) 评论(0)
518条 共26页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:285327次
    • 积分:7667
    • 等级:
    • 排名:第2774名
    • 原创:514篇
    • 转载:3篇
    • 译文:1篇
    • 评论:48条
    最新评论
    联系我