spark
文章平均质量分 85
ZhaoYingChao88
学而不思则罔,思而不学则殆!
展开
-
spark任务长时间不退出hangs 8+ hour 的排查(AsyncEventQueue: Dropped 18 events from executorManagement)
解決这个问题最简单的办法。2.将群集级别的群集的 Spark 配置中的 spark.scheduler.listenerbus.eventqueue.capacity 值设置为大于 10000 的值。3.此值设置应用状态事件队列的容量,其中包含内部应用程序状态侦听器的事件。1.解决丢event的方法实际上是用Spark提供的参数,静态的让队列在初始化的时候容量变大了,这需要driver的内存大一点。有些listener 太慢了 跟不上新产生的task 的scheduler 的速度,有意思的问题就在这里。原创 2023-10-06 21:24:01 · 510 阅读 · 0 评论 -
Spark repartition和coalesce的区别
我们常认为coalesce不产生shuffle会比repartition 产生shuffle效率高,而实际情况往往要根据具体问题具体分析,coalesce效率不一定高,有时还有大坑,大家要慎用。coalesce 与 repartition 他们两个都是RDD的分区进行重新划分,repartition只是coalesce接口中shuffle为true的实现(假设源RDD有N个分区,需要重新划分成M个分区)1)如果N<M。原创 2023-08-17 20:13:21 · 998 阅读 · 0 评论 -
spark dynamicAllocation详解及使用
动态资源分配策略在空闲时释放 Executor,繁忙时申请 Executor,虽然逻辑比较简单,但是和任务调度密切相关。它可以防止小数据申请大资源,Executor 空转的情况。在集群资源紧张,有多个 Spark 应用的场景下,可以开启动态分配达到资源按需使用的效果。原创 2023-08-17 15:52:19 · 2952 阅读 · 0 评论 -
spark-sql数据重复之File Output Committer问题
我们先来回顾下之前介绍过的三种Committer:FileOutputCommitter V1、FileOutputCommitter V2、S3A Committer,其基本代表了整体的演进趋势。FileOutputCommitter V1,采用两次Commit的方式来保证较强的一致性,每次Commit都对应一次文件的Rename。每个Task先将数据写入到Task的临时目录下,写完后将其Rename到Job的临时目录下;原创 2023-08-01 20:12:19 · 1087 阅读 · 0 评论 -
spark-sql 报错:Exception thrown flushing changes to datastore
spark-sql hive原创 2023-05-10 10:58:25 · 873 阅读 · 0 评论 -
Spark Structured Streaming Kafka offset提交监控
StreamingQueryListenerStreamingQueryListener,即监听StreamingQuery各种事件的接口,如下:abstract class StreamingQueryListener { import StreamingQueryListener._ // 查询开始时调用 def onQueryStarted(event: QueryStartedEvent): Unit // 查询过程中状态发生更新时调用 def onQueryP...原创 2021-10-25 21:03:22 · 1771 阅读 · 0 评论 -
spark ml特征转换操作StringIndexer、IndexToString、VectorIndexer、oneHotEncoder、Bucketizer、QuantileDiscretizer
一、StringIndexer在使用Spark MLlib协同过滤ALS API的时候发现Rating的三个参数:用户id,商品名称,商品打分,前两个都需要是Int值。那么问题来了,当你的用户id,商品名称是String类型的情况下,我们必须寻找一个方法可以将海量String映射为数字类型。好在Spark MLlib可以answer这一切。StringIndexer将一列字符串标签编码成一列下标标签,下标范围在[0,标签数量),顺序是标签的出现频率。所以最经常出现的标签获得的下标就是0。如果输入..原创 2021-02-05 00:15:40 · 1714 阅读 · 0 评论 -
spark 工作目录及数据本地化配置
执行spark-sql时,查询数据量超过1.7亿行,数据量大小38G,出现系统盘占用突然变高的情况检查为 /tmp 目录下,spark生成的临时目录占用了大量的磁盘空间,生成的spark临时文件超过15G了。解决方案为:1、删除 /tmp/spark* 的文件rm -rf /tmp/spark* 2、修改spark执行时临时目录的配原创 2017-11-03 18:07:58 · 3127 阅读 · 0 评论 -
spark常见问题处理
1、spark thriftserver报以下错误,其他诸如hive/sparksql等方式均正常ERROR ActorSystemImpl: Uncaught fatal error from thread [sparkDriverActorSystem-akka.actor.default-dispatcher-379] shutting down ActorSystem [spark原创 2018-02-06 16:54:36 · 7595 阅读 · 0 评论 -
Spark常见问题及性能调优
Spark的性能调优下面这些关于Spark的性能调优项,有的是来自官方的,有的是来自别的的工程师,有的则是我自己总结的。基本概念和原则首先,要搞清楚Spark的几个基本概念和原则,否则系统的性能调优无从谈起:每一台host上面可以并行N个worker,每一个worker下面可以并行M个executor,task们会被分配到executor上面原创 2018-02-06 17:06:13 · 1497 阅读 · 0 评论 -
Spark On YARN 一些基本参数
本文主要了解Spark On YARN部署模式下的内存分配情况,因为没有深入研究Spark的源代码,所以只能根据日志去看相关的源代码,从而了解“为什么会这样,为什么会那样”。说明按照Spark应用程序中的driver分布方式不同,Spark on YARN有两种模式: yarn-client模式、yarn-cluster模式。当在YARN上运行Spark作业,每个Spark executor作为一...原创 2018-04-20 17:32:04 · 1695 阅读 · 0 评论 -
Spark 内存管理详解
Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色。理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优。本文旨在梳理出 Spark 内存管理的脉络,抛砖引玉,引出读者对这个话题的深入探讨。本文中阐述的原理基于 Spark 2.1 版本,阅读本文需要读者有一定的 Spark 和 Java 基础,了解 RDD、Shuff...原创 2018-05-07 17:19:59 · 610 阅读 · 0 评论 -
RDD、DataFrame和DataSet比较
RDD、DataFrame和DataSet是容易产生混淆的概念,必须对其相互之间对比,才可以知道其中异同。RDD优点:编译时类型安全 编译时就能检查出类型错误面向对象的编程风格 直接通过类名点的方式来操作数据缺点:序列化和反序列化的性能开销 无论是集群间的通信, 还是IO操作都需要对对象的结构和数据进行序列化和反序列化.GC的性能开销 频繁的创建和销毁对象, 势必会增加GCimport org.a...原创 2018-05-23 11:01:27 · 982 阅读 · 0 评论 -
Spark Streaming详解
Spark Streaming编程指南OverviewSpark Streaming属于Spark的核心api,它支持高吞吐量、支持容错的实时流数据处理。它可以接受来自Kafka, Flume, Twitter, ZeroMQ和TCP Socket的数据源,使用简单的api函数比如 map, reduce, join, window等操作,还可以直接使用内置的机器学习算法、图算法包来处理数据。 它...原创 2018-06-05 15:17:27 · 1599 阅读 · 0 评论 -
大数据Spark入门教程
第一部分:快学Scala第一章 Scala简介第二章 Scala安装第三章 Scala基础第1节 声明值和变量第2节 基本数据类型和操作第3节 Range第4节 打印语句第5节 读写文件第四章 控制结构第1节 if条件表达式第2节 while循环第3节 for循环第五章 数据结构第1节 数组第2节 列表第3节 元组第4节 集第5节 映射第6节 迭代器第六章 类第七章 对象第八章 继承第九章 特质第...原创 2018-07-11 15:45:33 · 2860 阅读 · 1 评论 -
Spark Shuffle性能调优
Spark Shuffle的性能调优1、Shuffle原理和运行机制回顾 2、Shuffle性能调优上面的流程中: 性能问题1:Mapper端的Cache:如果Cache设置的大小不恰当,可能产生大量磁盘的访问操作,因为要频繁地往本地磁盘写数据。 性能问题2:Reducer端的Business Logic运行的空间,如果说空间分配不够,业务逻辑运行的时候被迫把数原创 2017-11-14 19:47:02 · 550 阅读 · 0 评论 -
Spark性能调优
前言继Spark性能调优基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是原创 2017-11-14 19:31:49 · 438 阅读 · 0 评论 -
spark yarn 参数分析
按照Spark应用程序中的driver分布方式不同,Spark on YARN有两种模式: yarn-client模式、yarn-cluster模式。当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器运行。Spark可以使得多个Tasks在同一个容器里面运行。下图是yarn-cluster模式的作业执行图,图片来源于网络:关于Sp转载 2017-11-14 19:16:58 · 1441 阅读 · 0 评论 -
spark Lost executor on YARN
执行脚本出现:15/07/30 10:18:13 ERROR cluster.YarnScheduler: Lost executor 8 on myhost1.com: remote Rpc client disassociated15/07/30 10:18:13 ERROR cluster.YarnScheduler: Lost executor 6 on myhost2.co原创 2017-04-22 13:55:48 · 3665 阅读 · 0 评论 -
Spark On YARN内存和CPU分配
在Yarn框架中,调度器是一块很重要的内容。有了合适的调度规则,就可以保证多个应用可以在同一时间有条不紊的工作。最原始的调度规则就是FIFO,即按照用户提交任务的时间来决定哪个任务先执行,但是这样很可能一个大任务独占资源,其他的资源需要不断的等待。也可能一堆小任务占用资源,大任务一直无法得到适当的资源,造成饥饿。所以FIFO虽然很简单,但是并不能满足我们的需求。yarn默认还提供了原创 2017-05-13 11:14:54 · 1534 阅读 · 0 评论 -
Spark Parquet使用
Spark SQL下的Parquet使用最佳实践和代码实战 分类:spark-sql(1) 一、Spark SQL下的Parquet使用最佳实践1)过去整个业界对大数据的分析的技术栈的Pipeline一般分为以下两种方式:a)Data Source -> HDFS -> MR/H原创 2017-10-18 15:09:26 · 11828 阅读 · 0 评论 -
Spark SQL UDF和UDAF示例
Spark SQL UDF和UDAF/** * scala代码 */package com.tom.spark.sqlimport org.apache.spark.sql.expressions.{MutableAggregationBuffer, UserDefinedAggregateFunction}import org.apache.spark.sql.types._原创 2017-10-18 17:46:40 · 2124 阅读 · 0 评论 -
Spark on Yarn下JVM的OOM问题及解决方式
Spark JVM的OOM和Stack Overflow问题1、Spark on Yarn下JVM的OOM问题及解决方式 2、Spark中Driver的Stack Overflow的问题及解决方式Spark on Yarn cluster mode: 此时有可能会报OOM的错误,具体来说: 由于Client模式下一定没有出现OOM,而在Cluster模式下一定出现了原创 2017-10-18 17:58:34 · 1845 阅读 · 0 评论 -
Spark数据本地性
一. 概述Spark中的数据本地性分为两种executor 层面的数据本地性task 层面的数据本地性在两种本地性中,task层面的数据本地性是由Spark本身决定的,而executor的分发则是Cluter Manager控制的,因此下文主要描述在不同Cluster Manager中的executor分发机制。Spark Standalone Stan原创 2017-11-07 15:15:51 · 1330 阅读 · 0 评论 -
spark中遇到的数据倾斜问题
一. 数据倾斜的现象多数task执行速度较快,少数task执行时间非常长,或者等待很长时间后提示你内存不足,执行失败。二. 数据倾斜的原因常见于各种shuffle操作,例如reduceByKey,groupByKey,join等操作。数据问题key本身分布不均匀(包括大量的key为空)key的设置不合理spark使用问题shuffle时的并发原创 2017-11-07 15:17:43 · 643 阅读 · 0 评论 -
Spark程序的几个优化点
虽然spark已经提供了大量简单易用的API,但要想编写出高性能的spark应用,必须要对整体框架有一定的了解,对于Spark初学者来说是比较困难的。针对这个这个问题,其实在spark1.6中,已经加入了dataset,官方已经对其进行了一系列的优化,用户可以将rdd转化为dataset操作,减少学习成本。不过目前(1.6版本)依旧存在一些bug。下文讲解了使用RDD编程时,常用的原创 2017-11-07 15:19:23 · 428 阅读 · 0 评论 -
spark性能优化高级篇
Spark性能调优高级篇 分类:spark平台学习(2) 目录(?)[+]前言继Spark性能调优基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。数据倾斜调优原创 2017-10-23 19:33:13 · 460 阅读 · 0 评论 -
最全spark基础知识
《倾情大奉送--Spark入门实战系列》 1、 Spark运行架构1.1 术语定义lApplication:Spark Application的概念和Hadoop MapReduce中的类似,指的是用户编写的Spark应用程序,包含了一个Driver 功能的代码和分布在集群中多个节点上运行的Executor代码;lDriver:Spark中的Driver即运行上述Applicati原创 2017-10-23 20:13:45 · 926 阅读 · 0 评论 -
SparkStreaming Kafka基本概念
1.Storm 和 SparkStreaming区别Storm 纯实时的流式处理,来一条数据就立即进行处理SparkStreaming微批处理,每次处理的都是一批非常小的数据Storm支持动态调整并行度(动态的资源分配),SparkStreaming(粗粒度, 比转载 2017-10-24 09:47:38 · 622 阅读 · 0 评论 -
spark driver HA
实验环境: zookeeper-3.4.6 Spark:1.6.0 简介: 本篇博客将从以下几点组织文章: 一:Spark 构建高可用HA架构 二:动手实战构建高可用HA 三:提交程序测试HA一:Spark 构建高可用HA架构 Spark本身是Master和Slave,而这这里的 Master是指Spark资源调度和分配。负责整个集群的资源调度和分原创 2017-10-24 10:16:29 · 1278 阅读 · 0 评论 -
spark常见错误及调优
一. 运维1. Master挂掉,standby重启也失效Master默认使用512M内存,当集群中运行的任务特别多时,就会挂掉,原因是master会读取每个task的event log日志去生成spark ui,内存不足自然会OOM,可以在master的运行日志中看到,通过HA启动的master自然也会因为这个原因失败。解决增加Master的内存占用,在M原创 2017-11-03 18:00:55 · 5173 阅读 · 0 评论 -
Spark性能相关参数配置-大全
Spark性能相关参数配置¶http://spark-config.readthedocs.io/en/latest/#概述随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 在Spark的官方文档http://spark.apache.org/docs/latest/configuration.html 中提供了这些可配置参数中相当大一部分的原创 2017-11-14 16:01:01 · 1530 阅读 · 0 评论 -
spark基础知识
一. Spark基础知识 1.Spark是什么?UCBerkeley AMPlab所开源的类HadoopMapReduce的通用的并行计算框架dfsSpark基于mapreduce算法实现的分布式计算,拥有HadoopMapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适原创 2017-03-23 11:50:31 · 632 阅读 · 0 评论