![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
xiaoyaGrace
这个作者很懒,什么都没留下…
展开
-
理解Spark运行模式(三)
下面具体还是用计算PI的程序来说明,examples中该程序有三个版本,分别采用Scala、Python和Java语言编写。本次用Java程序JavaSparkPi做说明。复制代码1 package org.apache.spark.examples;23 import org.apache.spark.api.java.JavaRDD;4 import org.apache.spar...原创 2019-12-09 14:45:17 · 94 阅读 · 0 评论 -
理解Spark运行模式(二)
上一篇说到Spark的yarn client运行模式,它与yarn cluster模式的主要区别就是前者Driver是运行在客户端,后者Driver是运行在yarn集群中。yarn client模式一般用在交互式场景中,比如spark shell, spark sql等程序,但是该模式下运行在客户端的Driver与Yarn集群有大量的网络交互,如果客户端与集群之间的网络不是很好,可能会导致性能问题...原创 2019-12-09 14:42:04 · 78 阅读 · 0 评论 -
spark-一些参数优化
spark程序优化所需要关注的几个关键点——最主要的是数据序列化和内存优化spark 设置相关参数问题1:reduce task数目不合适解决方法:需根据实际情况调节默认配置,调整方式是修改参数spark.default.parallelism。通常,reduce数目设置为core数目的2到3倍。数量太大,造成很多小任务,增加启动任务的开销;数目太少,任务运行缓慢。问题2:shuffle磁盘IO时...原创 2019-12-04 11:25:46 · 169 阅读 · 0 评论 -
Spark2.1.0之代码结构及载入Ecplise方法
本文旨在帮助那些想要对Spark有更深入了解的工程师们,了解Spark源码的概况,搭建Spark源码阅读环境,编译、调试Spark源码,为将来更深入地学习打下基础。一、项目结构 在大型项目中,往往涉及非常多的功能模块,此时借助于Maven进行项目、子项目(模块)的管理,能够节省很多开发和沟通成本。整个Spark项目就是一个大的Maven项目,包含着多个子项目。无论是Spar...原创 2019-12-03 14:26:47 · 81 阅读 · 0 评论 -
Spark 持久化(缓存)
Spark RDD 是惰性求值的,而有时我们希望能多次使用同一个RDD。如果简单地对RDD 调用行动操作,Spark 每次都会重算RDD 以及它的所有依赖。这在迭代算法中消耗格外大,因为迭代算法常常会多次使用同一组数据。 var input = sc.parallelize(List(1, 2, 3, 4, 5, 6, 7)) val result = input.map(x =&...转载 2019-11-08 11:59:37 · 197 阅读 · 0 评论 -
Spark 2.4.0 standalone 模式安装
park 2.4.0 standalone 模式安装更多资源github:https://github.com/opensourceteams/spark-scala-maven-2.4.0视频Spark 2.4.0 standalone 模式安装(bilibili视频) :https://www.bilibili.com/video/av38193405/?p=1官网文档...原创 2019-11-08 11:46:40 · 219 阅读 · 0 评论 -
spark写 本地文件报错
环境:spark1.6,window10,Hadoop2.6报错:rdd.saveastextFile(outPath)原因:.在spark bin目录下没有winutils.exe问价本地dill问价有损坏c/windows/system32中没有hadoop.dll文件解决:查看文件夹,没有文件去下载并放到文件夹下;如果有文件尝试修复本地环境,下载DirectX Repair然后解...原创 2019-11-07 15:24:52 · 266 阅读 · 0 评论 -
spark之RDD的理解
RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它存储的元数据信息,真正的数据在partition分区中,一个RDD中有多个分区,一个分区在executor节点上执行,他就是一个迭代器,一个分区在一台机器上,一台机器可以有多个分区,我们操作的是分布在多台机器上的数据,而RDD是一个代理,对RDD进行操作其实就是对分区进行操作...原创 2019-11-04 15:27:39 · 107 阅读 · 0 评论 -
spark创建DF的两种方式
方式一:反射:(使用这种方式来创建DF是在你知道字段具体有哪些) 1.创建一个SparkContext,然后再创建SQLContext 2.先创建RDD,对数据进行整理,然后关联case class,将非结构化的数据转换成结构化数据 3.显示的调用toDF方法,将RDD转换成DF(需要隐私转换) 4.注册临时表 5.执行SQL(T...原创 2019-11-04 15:23:52 · 1203 阅读 · 0 评论 -
Spark_调度流程
1> 将我们编写好的代码打成jar包,提交到集群上运行。2> 执行spark-submit脚本3> 调用sparkSubmit这个类的main方法,在main方法中通过反射的方式,创建我们自己spark作业的主类实例对象。然后调用main方法,开始执行我们自己写的代码。4> 开始初始化sparkContext对象,在初始化sparkContext对象时会创建两个...原创 2019-10-31 16:30:59 · 87 阅读 · 0 评论 -
spark 如何防止内存溢出
Spark中的OOM问题不外乎以下两种情况 map执行中内存溢出 shuffle后内存溢出1. map过程产生大量对象导致内存溢出 这种溢出的原因是在单个map中产生了大量的对象导致的,例如:rdd.map(x=>for(i <- 1 to 10000) yield i.toString),这个操作在rdd中,每个对象都产生了10000个对象,这肯定...原创 2019-10-30 16:00:36 · 444 阅读 · 0 评论 -
Spark工作原理
基本概念理解Spark的运行模式涉及一系列概念:(1)Cluster Manager:在集群上获取资源的外部服务。目前有三种类型:1. Standalone, Spark原生的资源管理;2. Apache Mesos, 和Hadoop Mapreduce兼容性良好的资源调度框架;3. Hadoop Yarn, 主要指YARN中的ResourceManager.(2)Application: ...原创 2019-10-30 15:35:51 · 155 阅读 · 0 评论 -
flink和spark Streaming中的Back Pressure
flink和spark Streaming中的Back PressureSpark Streaming的back pressure 在讲flink的back pressure之前,我们先讲讲Spark Streaming的back pressure。Spark Streaming的back pressure出现的原因呢,我想大家应该都知道,是为了应对短期数据尖峰。Spark...原创 2019-10-30 15:16:36 · 182 阅读 · 0 评论 -
spark统一内存管理
spark统一内存管理是spark1.6.0的新特性,是对shuffle memory 和 storage memory 进行统一的管理,打破了以往的参数限制。非统一内存管理spark在1.6 之前都是非统一内存管理,通过设置spark.shuffle.memoryFraction和spark.storage.memoryFraction来设置shuffle 和storage的memor...原创 2019-10-29 15:18:33 · 272 阅读 · 1 评论