spark
chen58683632
这个作者很懒,什么都没留下…
展开
-
spark使用java lambada表达式的问题
正常运行运行报错报错信息java.io.NotSerializableException: java.io.PrintStream第一种是正常的lambada表达式,第二种是method reference反编译第二种方法SparkSession ss = SparkSession.builder().config("spark.sql.catalogImplementation", "hive").master("local[4]").getOrCreate();原创 2020-11-17 19:24:34 · 215 阅读 · 0 评论 -
spark on yarn日志过大问题
1.在standlone模式下,为了减少日志在磁盘占用的输出的量,可以设置一下几个参数。spark.executor.logs.rolling.maxRetainedFilesspark.executor.logs.rolling.enableCompressionspark.executor.logs.rolling.maxSizespark.executor.logs.roll...转载 2018-09-21 10:53:02 · 4427 阅读 · 0 评论 -
spark创建一个空的RDD
现有需求要创建一个空的RDD不含任何元素和分区首先想到的是:val emptyRDD = sc.makeRDD(Array())可是这么创建居然会报错!!!然后想着自己写个类继承RDD抽象类,可以实现。不过这两天发现居然spark其实已经为我们写好了EmptyRDD,源码如下package org.apache.spark.rddimport scala.reflect.ClassTagi...原创 2018-07-06 17:20:51 · 10204 阅读 · 1 评论 -
高效的reduceByKeyAndWindow算子
总的来说SparkStreaming提供这个方法主要是出于效率考虑。 比如说我要每10秒计算一下前15秒的内容,(每个batch 5秒), 可以想象每十秒计算出来的结果和前一次计算的结果其实中间有5秒的时间值是重复的。 那么就是通过如下步骤 1. 存储上一个window的reduce值 2.计算出上一个window的begin 时间到 重复段的开始时间的reduce 值 =》 oldRDD 3.重...原创 2018-06-28 22:36:55 · 3444 阅读 · 1 评论 -
使用spark-streaming-kafka-0-10_2.11-2.0.0依赖包创建kafka输入流
object DirectStream { def main(args: Array[String]): Unit = { //创建SparkConf,如果将任务提交到集群中,那么要去掉.setMaster("local[2]") val conf = new SparkConf().setAppName("DirectStream").setMaster("...原创 2018-06-27 15:28:37 · 6645 阅读 · 4 评论 -
spark性能优化
(一)减少批数据的执行时间在Spark中有几个优化可以减少批处理的时间。这些可以在优化指南中作了讨论。这节重点讨论几个重要的。数据接收的并行水平通过网络(如kafka,flume,socket等)接收数据需要这些数据反序列化并被保存到Spark中。如果数据接收成为系统的瓶颈,就要考虑并行地接收数据。注意,每个输入DStream创建一个receiver(运行在worker机器上) 接收单个数据流。创...转载 2018-02-11 15:55:12 · 319 阅读 · 0 评论 -
Spark性能优化之道——解决Spark数据倾斜
本文结合实例详细阐明了Spark数据倾斜的几种场景以及对应的解决方案,包括避免数据源倾斜,调整并行度,使用自定义Partitioner,使用Map侧Join代替Reduce侧Join,给倾斜Key加上随机前缀等。摘要本文结合实例详细阐明了Spark数据倾斜的几种场景以及对应的解决方案,包括避免数据源倾斜,调整并行度,使用自定义Partitioner,使用Map侧Join代替Reduce侧Join,...原创 2018-02-09 15:32:05 · 1540 阅读 · 0 评论