![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
09 spark
文章平均质量分 87
教练、我想打篮球
这个作者很懒,什么都没留下…
展开
-
11 Accumlators
前言最近翻了一下 官方文档中的RDD Programming Guide, 里面有一些 关于 累加器 的介绍呵呵 这里重新整理一下, 当然 只是一最简单的情况(1 worker, memory, 1 replics)做一个整理这部分的官方文档镇楼, 看原文请移步RDD Programming Guide-Accumlators以下图片截图于Accumlators以下调试基于 jdk1.8 + scala2.11 +spark2.4.5...原创 2020-12-12 19:17:12 · 171 阅读 · 0 评论 -
17 记一次 spark 读取大数据表 OOM OutOfMemoryError: GC overhead limit exceeded
前言呵呵 最近因为一次 测试造了一张 200w 数据记录的表然后 业务上需要分析 这张表, 然后 使用 spark 来进行处理的时候 发生了 "GC overhead limit exceeded"当然 问题的本质原因 似乎是和我最开始 期望的原因 有一些差别, 呵呵测试代码测试代码 大致如下, rdd 是根据这张大的数据表记录构造的 " select * from big_record ",big_record 差不多是 38 个字段, 200w 的数据看到...原创 2022-01-29 20:52:01 · 2959 阅读 · 0 评论 -
16 sparksql 基于JdbcRDD的查询 & 基于JdbcTemlpate查询出来之后 parallelize
前言呵呵 项目最开始是基于 sparkSession.read().jdbc(jdbcUrl, String.format(SQL_FORMAT, sql), properties).toJavaRDD() 来查询的后面因为某些原因 查询换成了jdbcTemplate.query 查询出结果之后, 使用sparkContext.parallelize 来实例化 rdd当然 后来意识到了某些问题之后, 我们切换回去了这个 似乎是很久以前就整理了一些线索吧, 但是 一直没有记录下来...原创 2022-01-22 19:35:52 · 309 阅读 · 0 评论 -
15 记录数据去重的计算优化
前言最近有这样的一个问题, 之前有一个版本的数据清洗, 清理一批记录, 根据一定的规则每一个记录生成一个 key, key 相同代表记录重复, 需要清理掉这部分重复的记录, 并吧这部分重复的记录数据转移到另外的一张记录表之前的计算方式 似乎是在生产环境上面 出现了一些问题, 说是 几百万的数据 算了几天?, 呵呵 我觉得应该是与当时生产环境的这台服务器的状态 或者说 数据库服务器的状态有一定的关系呵呵 我这里的处理也主要是一些 简单的处理吧我这边的处理主要是如下, 我们主要关注的是 处理..原创 2022-01-15 21:15:01 · 201 阅读 · 0 评论 -
14 ArrayStoreException + sortByKey之后元素变少 + groupBy/reduceByKey之后分区数量变化 + sortByKey之后分区数变化
前言呵呵 此贴 整理了一些 最近碰到的 spark 的一些问题的汇总, 主要问题 包含如下1. java.lang.ArrayStoreException: com.hello.world.domain.Task at scala.runtime.ScalaRunTime$.array_update(ScalaRunTime.scala:75)2. sortByKey 之后少了 N(存在元素的 partition 数量) 个元素3. xxxx以下调试基于 jdk1.8...原创 2021-01-02 20:27:02 · 495 阅读 · 0 评论 -
13 MyJdbcRDD
前言我们通常使用 sparksql 来读取 mysql, postgres 或者其他数据库中的数据 基本的方式, 一般是使用 DataFrameReader 来进行读取但是这样 读取原创 2020-12-26 20:21:40 · 3777 阅读 · 0 评论 -
12 Broadcast Variables
前言最近翻了一下 官方文档中的RDD Programming Guide, 里面有一些 关于 闭包 的介绍呵呵 这里重新整理一下, 当然 只是一最简单的情况(1 worker, memory, 1 replics)做一个整理这部分的官方文档镇楼, 看原文请移步RDD Programming Guide-Broadcast Variables以下图片截图于Broadcast Variables以下调试基于 jdk1.8 + scala2.11 +sp...原创 2020-12-19 20:27:32 · 293 阅读 · 0 评论 -
10 基于对象实例来处理 rdd
前言最近翻了一下 官方文档中的RDD Programming Guide, 里面有一些 关于 给spark传递函数的介绍呵呵 这里重新整理一下, 当然 只是一最简单的情况(1 worker, memory, 1 replics)做一个整理我们这里 主要关注的是 "it is also possible to pass a reference to a method in a class instance" 以及之后的这部分内容当然有一些知识需要参考09 理解闭包中的内容...原创 2020-12-06 18:51:10 · 219 阅读 · 0 评论 -
09 理解闭包
前言最近翻了一下 官方文档中的RDD Programming Guide, 里面有一些 关于 闭包 的介绍呵呵 这里重新整理一下, 当然 只是一最简单的情况(1 worker, memory, 1 replics)做一个整理这部分的官方文档镇楼, 看原文请移步RDD Programming Guide-Understanding closures以下图片截图于Understanding closures以下调试基于 jdk1.8 + scala2.11...原创 2020-11-29 18:40:11 · 255 阅读 · 0 评论 -
08 RDD.cache
前言最近翻了一下 官方文档中的RDD Programming Guide, 里面有一些 关于 cache 的介绍呵呵 这里重新整理一下, 当然 只是一最简单的情况(1 worker, memory, 1 replics)做一个整理这部分的官方文档镇楼, 看原文请移步RDD Programming Guide-RDD Persistence以下图片截图于RDD Persistence以下调试基于 jdk1.8 + scala2.11 +spark2.4...原创 2020-11-21 19:35:44 · 334 阅读 · 0 评论 -
07 sortBy + take 操作之前的 Transformations 被执行多次
前言最近 以为同事在调试 类似如下代码片段的时候 使用了 mapPartitionsWithIndex, 来进行输出上下文信息的调试业务代码中 一系列的 transformations 的处理之后, 使用了 sortByKey + take 进行 "分页" 处理然后 她在 这一系列的 transformations 操作中间增加了一系列的 mapPartitionsWithIndex 来进行输出上下文的信息, 进行调试但是 出乎他的意料的是 有一部分的mapPartitionsW...原创 2020-11-14 19:20:39 · 275 阅读 · 0 评论 -
06 连接基于 docker 的 standalone 的 spark 集群
前言最近尝试 将 应用切换到 standalone 的 spark 集群上面 遇到了一些问题, 呵呵 记录下来standalone 集群基于 镜像singularities/spark, spark 的版本是 2.2.1applicatoin 使用的 spark 版本是 3.0.0Caused by: java.lang.NullPointerException: nullat org.apache.spark.SparkContext.<init>...原创 2020-11-08 19:28:58 · 1549 阅读 · 1 评论 -
05 Spark 的 WordCount
前言呵呵 想以 Spark 的 WordCount 来梳理一下 流程已经很久了从最开始的 在学校的源码调试, 记录了一系列的 文档到后来 再次重新 调试了一下这一系列的东西, 呵呵 还是需要整理下来, 呵呵 中间应该梳理了几次吧, 只是 现在懒得去找了呵呵 本文将以 WordCount, 来调试, 了解 着整个流程我本地没有 集群, 因此是直接使用的 local 模式来进行调试以下调试基于 jdk1.8.0_211 + scala2.11.12 + s...原创 2020-10-31 18:39:21 · 231 阅读 · 0 评论 -
04 graphx 从源节点到其他节点的路径 scala & java 版本
前言呵呵 最近刚好有一些需要使用到 图的相关计算然后 需求是 需要计算图中 源点 到 目标节点 的所有路径另外本文会提供一个 scala 版本的测试用例, 以及 一个java 版本的测试用例(写的有点惨)环境如下 : spark2.4.5 + scala2.11 + jdk8java 版本的代码基于 :spark-graphx_2.12 2.4.6另外 java 版本的代码, 会遇到各种问题, 这里也会 介绍一下(写出来也是很不美观, 可读性也不太好)本文的图...原创 2020-07-19 19:26:25 · 1016 阅读 · 3 评论 -
03 graphx 从 SSSP 来看 pregel
前言呵呵 最近刚好有一些需要使用到 图的相关计算然后 在其他文章中找到了一篇 关于最短路径的graphx计算的代码spark graphx 最短路径及中间节点呵呵 很久没有用这些东西了, 虽然只是简单的使用, 但是还是要 复习一下, 稍微理解一下 他的执行方式pregel 相关论文 : 留一个占位符本文主要是根据一个 SSSP 的最短路径的测试代码来进行开始, 大致了解一下 pregel 的执行模式, 调试一下 pregel 的执行, 以及 spark 本身提供的最短路径...原创 2020-07-12 20:26:17 · 542 阅读 · 0 评论 -
01 SparkStreaming's WordCount
前言最近因为要找工作了, 本身又想找spark方面的工作, 自己对于spark的graphX, mlLib方面的东西有一定的了解, 所以 最近想看看sparkStreaming相关的东西, 今天 就看了一下几天前找的几个播客[这都有十天了,过年几天一晃而过, 玩去了, 一回到正轨 感觉自己似乎退步了啊[是不是 以前对自己要求太严格了, so 不适应了..]..], 这篇播客对应的内容就是围绕这个Sp原创 2016-02-12 21:49:07 · 3411 阅读 · 2 评论 -
02 ExecutorBackend blocked at “UserGroupInformation.doAs”
前几天搭建spark集群的时候, 然后跑WordCount的时候碰到了这样的一个问题集群启动成功之后, 向集群提交任务, 然后 driver程序跑到需要taskScheduler为taskSet分配资源的时候, 找不到可用的executor然后 导致driver程序这边任务执行不了, 直到超时爆出了异常, 然后只好 shutdown driver程序,最后查了查execut原创 2017-04-11 18:49:34 · 1060 阅读 · 0 评论