随笔分类 - Spark
摘要:Spark批处理小文件合并 /** * * @param sparkSession * @param absDir 要进行小文件合并的路径 * @param partitionSize 分块的大小(一般 128 ,即 128M ) * @param isDeleteBak 是否删除备份路径数据,1:
阅读全文
摘要:Spark算子是分为行动子算子和转换算子的,只有遇到行动算子,计算任务才会生成一个Job任务,当算子行动算子多起来,并且交织复杂的时候,Spark去追溯数据血缘就会比较耗时了,通常我们都会直接通过persist算子存储中间的计算结果,减少数据的重复计算。 // 存储中间计算结果,避免Spark重复计
阅读全文
摘要:最近Spark任务调度任务跑的时间比平时慢很多,查看SparkUI发现有大量的Task被异常终止,查看日志发现了有几个问题,记录一下。 根据日志,主要涉及任务被终止、YARN集群中的抢占问题以及网络连接错误。 1、任务被终止的警告: WARN Lost task 87.0 in stage 6.0
阅读全文
摘要:背景 从ScalaSpark代码转PySpark代码,同时实现连续读多个文件,避免因某些路径不存在导致程序终止。 在Scala的Spark中可以直接导下面两个模块的包 import org.apache.hadoop.conf.Configuration import org.apache.hado
阅读全文
摘要:众所周知,RDD只会保留血缘关系,不存储计算结果。如果想要让计算结果持久化存储,那就要引入cache和persist方法。 提前感受变化 禁用持久化 package com.pzb.rdd.persist import org.apache.spark.rdd.RDD import org.apac
阅读全文
摘要:介绍 val fileRDD: RDD[String] = sc.textFile("input/1.txt") println(fileRDD.toDebugString) println(" ") val wordRDD: RDD[String] = fileRDD.flatMap(_.spli
阅读全文
摘要:Spark的算子分为两大类:transform(转换算子)和action(行动算子) transform算子:map、mapPartitions、mapPartitionsWithIndex、flatMap、glom、groupBy、filter、sample、distinct、coalesce、r
阅读全文
摘要:SparkCore 是整个Spark 框架的核心,其他都是在此基础上扩展API 第一步,打开IDEA,新建Maven项目 第二步,增加 Scala 插件(前提:一配置好scala环境) 注意版本,Spark3.0 版本最好用 Scala2.12 版本(文本末尾有scala 环境安装包) 第三步,添加
阅读全文