Spark
文章平均质量分 94
Zsigner
这个作者很懒,什么都没留下…
展开
-
SparkSQL RDD,DataFrame,DataSet三者的区别与联系
推荐大家去看原文博主的文章,条理清晰阅读方便,转载是为了方便以后个人查阅https://www.jianshu.com/p/c3b2623492261.RDD优点: 1.1 编译时类型安全; 1.2 编译时就能检查出类型错误; 1. 3 面向对象的编程风格; 1.4 直接通过类名点的方式来操作数据缺点: 1.1序列化和反序列化的性能开销; 1.2无论是集群间的通信,还是IO操作都需要对对象...转载 2020-06-27 23:35:40 · 466 阅读 · 0 评论 -
Spark内存模型详解
推荐大家去看原文博主的文章,条理清晰阅读方便,转载是为了方便以后个人查阅https://www.cnblogs.com/coco2015/p/11240677.html1 堆内和堆外内存规划Spark执行器(Executor)的内存管理建立在 JVM 的内存管理之上,Spark 对 JVM 的空间(OnHeap+Off-heap)进行了更为详细的分配,以充分利用内存。同时,Spark 引入了Off-heap 内存模式,使之可以直接在工作节点的系统内存中开辟空间,进一步优化了内存的使用(可以理解为转载 2020-06-21 14:27:47 · 373 阅读 · 0 评论 -
Spark的shuffle算子
推荐大家去看原文博主的文章,条理清晰阅读方便,转载是为了方便以后个人查阅https://kuncle.github.io/blog/spark/Spark的shuffle算子去重 def distinct()def distinct(numPartitions: Int) 聚合 def reduceByKey(func: (V, V) => V, numPartitions: Int): RDD[(K, V)]def reduceByKey(partitioner: Par转载 2020-06-21 14:25:34 · 365 阅读 · 0 评论 -
Spark内存模型详解
推荐大家去看原文博主的文章,条理清晰阅读方便,转载是为了方便以后个人查阅https://www.cnblogs.com/coco2015/p/11240677.html1 堆内和堆外内存规划Spark执行器(Executor)的内存管理建立在 JVM 的内存管理之上,Spark 对 JVM 的空间(OnHeap+Off-heap)进行了更为详细的分配,以充分利用内存。同时,Spark 引入了Off-heap 内存模式,使之可以直接在工作节点的系统内存中开辟空间,进一步优化了内存的使用(可以理解为转载 2020-06-16 21:01:05 · 396 阅读 · 0 评论 -
spark提交作业参数
推荐大家去看原文博主的文章,条理清晰阅读方便,转载是为了方便以后个人查阅https://www.jianshu.com/p/5c388fd298061.在提交任务时的几个重要参数executor-cores:每个executor使用的内核数,默认为1num-executors:启动executors的数量,默认为2executor-memory:executor内存大小,默认为1Gdriver-cores:driver使用内核数,默认为1driver-memory:driver内存大小转载 2020-06-15 20:19:31 · 522 阅读 · 0 评论 -
Spark:coalesce()方法和repartition()方法
推荐大家去看原文博主的文章,条理清晰阅读方便,转载是为了方便以后个人查阅https://blog.csdn.net/olizxq/article/details/828084121、coalesce()方法def coalesce(numPartitions: Int, shuffle: Boolean = false)(implicit ord: Ordering[T] = null) : RDD[T] = withScope { if (shuffle) { } el...转载 2020-06-15 20:09:26 · 234 阅读 · 0 评论 -
spark repartition与coalesce区别
推荐大家去看原文博主的文章,条理清晰阅读方便,转载是为了方便以后个人查阅https://www.cnblogs.com/frankdeng/p/9301699.html窄依赖、宽依赖以及stage的划分依据:https://www.cnblogs.com/itboys/p/6673046.html参考: http://blog.csdn.net/u012684933/article/details/51028707参考: http://blog.csdn.net/dax1n/artic.转载 2020-06-15 20:03:32 · 263 阅读 · 0 评论 -
Spark:coalesce()方法和repartition()方法
1、coalesce()方法def coalesce(numPartitions: Int, shuffle: Boolean = false)(implicit ord: Ordering[T] = null) : RDD[T] = withScope { if (shuffle) { } else { }}返回一个经过简化到numPartitions个分区的新RDD。这会产生一个窄依赖,例如:你将1000个分区转换成100个分区,这个过程不会发生shuffle,相...转载 2020-05-18 18:23:45 · 1304 阅读 · 0 评论 -
Spark之Shuffle调优
推荐大家去看原文博主的文章,条理清晰阅读方便,转载是为了方便以后个人查阅https://www.cnblogs.com/frankdeng/p/9301699.html一、概述大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整个S转载 2020-05-16 23:17:32 · 187 阅读 · 0 评论 -
Spark基本架构及原理
Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一,与Hadoop和Storm等其他大数据和MapReduce技术相比,Spark有如下优势:Spark提供了一个全面、统一的框架用于管理各种有着不同性质(文本数据、图表数据等)的数据集和数据源(批量数据或实时的流数据)的大数据处理的需求 官方资料介绍Spark可以将Hadoop集群中的应用在内存中的运行速度提升100倍,甚至能转载 2020-05-16 16:07:36 · 261 阅读 · 0 评论 -
Spark启动时的master参数以及Spark的部署方式
推荐大家去看原文博主的文章,条理清晰阅读方便,转载是为了方便以后查阅https://www.jianshu.com/p/aaac505908dd我们在初始化SparkConf时,或者提交Spark任务时,都会有master参数需要设置,如下:conf = SparkConf().setAppName(appName).setMaster(master)sc = SparkConte...转载 2020-03-13 00:13:18 · 339 阅读 · 0 评论 -
【SPARK】CDH SPARK java.lang.NoClassDefFoundError: org/slf4j/Logger
进入spark路径下的bin目录,执行./spark-shell报错:./spark-shellError: A JNI error has occurred, please check your installation and try againException in thread "main" java.lang.NoClassDefFoundError: org/slf4j...原创 2020-03-12 22:17:36 · 3210 阅读 · 4 评论 -
CDH升级Spark2异常java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream
建议大家还是去原问博客阅读,样式也好看阅读更方便,本人转载仅为个人查阅https://blog.csdn.net/mlwise/article/details/104652381最近为了适配客户版本,搭建了CDH5.16版本的数据数据环境。而默认的Spark是1.6版本的,为配合客户需要升级成Spark2,由于机器资源有限制,先把Spark1.6删除了,下载SPARK2-2.1.0.clo...转载 2020-03-12 22:03:52 · 1298 阅读 · 0 评论 -
【SPARK】Spark 使用java API读取Excel
过程:1、添加两个pom <!--读取excel文件--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.10-FINAL</versi...原创 2020-02-02 11:44:13 · 940 阅读 · 0 评论 -
SPARK RDD JAVA API 用法指南
1.RDD介绍: RDD,弹性分布式数据集,即分布式的元素集合。在spark中,对所有数据的操作不外乎是创建RDD、转化已有的RDD以及调用RDD操作进行求值。在这一切的背后,Spark会自动将RDD中的数据分发到集群中,并将操作并行化。 Spark中的RDD就是一个不可变的分布式对象集合。每个RDD都被分为多个分区,这些分区运行在集群中的不同节点上。RDD可以包含Python...转载 2019-08-19 15:01:36 · 191 阅读 · 0 评论 -
Spark Rdd coalesce()方法和repartition()方法
在Spark的Rdd中,Rdd是分区的。有时候需要重新设置Rdd的分区数量,比如Rdd的分区中,Rdd分区比较多,但是每个Rdd的数据量比较小,需要设置一个比较合理的分区。或者需要把Rdd的分区数量调大。还有就是通过设置一个Rdd的分区来达到设置生成的文件的数量。有两种方法是可以重设Rdd的分区:分别是coalesce()方法和repartition()。这两个方法有什么区别,看看...转载 2019-08-22 20:29:35 · 233 阅读 · 0 评论 -
【SPARK】Spark RDD在saveAsTextFile时直接保存成一个txt文件
在该语句之前加上repartition(1),即写作以下形式:rdd.repartition(1).saveAsTextFile("out.txt")即,之前每个partition保存成一个txt文件,现repartition成一个分区,然后再保存。注意(未验证):这个操作对于大文件来说,repartition(1)可能会导致某一个节点内存不足,超出的部分会临时存放在硬盘中,影响saveAs...原创 2019-09-09 16:42:09 · 4997 阅读 · 2 评论 -
Spark Pair RDD键值对操作
Spark Pair RDD键值对操作1 PairRDD简介2 创建Pair RDD3 Pair RDD的转化操作3.1 聚合操作1 PairRDD简介Spark 为包含键值对类型的RDD 提供了一些专有的操作。这些RDD 被称为pair RDD1。PairRDD 是很多程序的构成要素,因为它们提供了并行操作各个键或跨节点重新进行数据分组的操作接口。例如,pair ...转载 2019-09-19 09:40:34 · 232 阅读 · 0 评论 -
Spark PairRDD API实例
import org.apache.spark.HashPartitioner;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.Ja...转载 2019-09-19 09:42:57 · 161 阅读 · 0 评论 -
spark解决org.apache.spark.SparkException: Kryo serialization failed: Buffer overflow
使用spark sql的thrift jdbc接口查询数据时报这个错误Exception in thread "main" java.sql.SQLException: org.apache.spark.SparkException: Job aborted due to stage failure: Task 3107 in stage 308.0 failed 4 times, most...转载 2019-09-19 09:49:55 · 1730 阅读 · 0 评论 -
【SPARK】Spark java.io.IOException: java.lang.UnsupportedOperationException
参考:https://stackoverflow.com/questions/43023961/spark-kryo-serializers-and-broadcastmapobject-iterablegowalladatalocation问题描述:在pairRDD 进行sortByKey时报错,找到130行,回去看需要sort的RDD ,发现里面涉及的broadcast如下图:...原创 2019-09-19 11:33:16 · 1068 阅读 · 2 评论 -
Spark(Java)的一些坑
Spark(Java)的一些坑0.2542019.01.06 20:47:16字数 267阅读 12841. org.apache.spark.SparkException: Task not serializable广播变量时使用一些自定义类会出现无法序列化,实现 java.io.Serializable 即可。public class CollectionBean imple...转载 2019-09-19 11:40:53 · 858 阅读 · 0 评论 -
Scala和Java方法的相互调用
但是在Java中调用Scala的方法呢?经过测试,也是很简单,静态方法直接传递参数,就可以调用了,非静态的方法,使用对象也可以调用方法具体如下:1.首先是静态方法object ScalaObjectDemo extends App { println("hello zhaojun i miss you very much"); def say(name:...转载 2019-09-23 11:21:42 · 594 阅读 · 0 评论 -
【SPARK】SparkRDD distinct 失败原因
背景:目前有一个pairRDD,key是String类型,value是Model类型使用rdd.distinct() 发现个数没有减少代码: System.out.println("brandModelRDD count:" + brandModelRDD.count()); JavaPairRDD<String, BrandModel>...原创 2019-09-23 18:10:40 · 721 阅读 · 0 评论 -
基于Spark UI性能优化与调试——初级篇
转自:https://www.cnblogs.com/xing901022/p/6445254.htmlSpark有几种部署的模式,单机版、集群版等等,平时单机版在数据量不大的时候可以跟传统的java程序一样进行断电调试、但是在集群上调试就比较麻烦了...远程断点不太方便,只能通过Log的形式进行数据分析,利用spark ui做性能调整和优化。那么本篇就介绍下如何利用Ui做性能分析,因...转载 2019-07-24 12:01:38 · 153 阅读 · 0 评论