- 博客(141)
- 收藏
- 关注
原创 GC overhead limit exceeded---Java 虚拟机 (JVM) 在进行垃圾回收内存量非常少解决
GC overhead limit exceeded-这个bug错误通常表示 Java 虚拟机 (JVM) 在进行垃圾回收时花费了过多的时间,并且回收的内存量非常少。这通常是由于内存不足或数据量过大导致的,如下图,我自己跑的程序出现错误。基本就这几种方案,一个一个试出来的,然后解决了,遇事不决调整资源,然后调整比例。内存,还是TMD内存!我正在跑一个数据处理较为复杂的程序。然后调试了很多遍,出现了GC问题,如下图bug.增加数据的分区数量可以帮助分散数据处理的负担,从而减少每个分区的内存消耗。
2025-03-24 11:13:28
311
原创 Buffer overFolw---Kryo序列化出现缓冲区溢出的问题解决
由于我的数据量太大,我设置批次为10000万,50w数据大概有400M左右,然后进行spark数据处理时候报错为org.apache.spark.SparkException:Kryo serialization failed:Buffer overFolw.Available:0,rquired 58900977,To avoid this ,increase spark.kryoserializer.buffer.max value.......的值,我一开始值只有128m,太小了,调整一下。
2025-03-24 09:01:02
397
原创 Apache Spark_解决生产环境数据倾斜问题方案及思路
我司在处理超大数据量级别数据时,经常出现数据倾斜的情况,因此基本上都是看yarn的执行情况,本来10分钟能执行完毕的,拖到半小时甚至一个小时的情况,甚至再有的数据两三个小时跑完的,半天都跑不完的情况。在大数据处理中,数据倾斜是指在分布式计算中,某些节点处理的数据量远大于其他节点,导致计算资源的不均衡使用,从而影响整体的计算性能。页面中,查看每个 Executor 的数据处理量,如果某些 Executor 处理的数据量远大于其他 Executor,则可能存在数据倾斜。页面中,查看每个任务的执行时间。
2025-03-17 11:21:07
1010
原创 Flink-学习路线
最近想学习一下Flink,公司的实时需求还是不少的,因此结合ai整理了一份学习路线,记录一下。当然,公司也有Scala版本Flink框架,也学习了一下。这里只说Java版本。
2025-03-12 09:28:27
860
原创 Scala编程_实现Rational的基本操作
有理数是可以表示为两个整数的比值的数,通常形式为 n / d,其中 n 是分子,d 是分母。为了确保我们的有理数始终处于最简形式,我们将在构造函数中计算最大公约数,并将分子和分母分别除以这个值。/*** @描述: 实现的功能,将对有理数的各项行为进行建模,并进行加减乘除* 《scala编程》 第六章* 函数式对象 - 类-构造方法* 定义类Rational,类参数为n,d,Scala编译器会接收到这两个类参数,并且创建一个主构造方法,接收同样的这两个参数,
2025-03-10 15:32:38
403
原创 Scala编程_数组、列表、元组、集合与映射
Scala 是一种多范式编程语言,结合了面向对象编程和函数式编程的特性。它运行在 Java 虚拟机上,并且可以与 Java 代码无缝互操作。我主要记录一些我之前看过这本书的记录等。详细说一下Scala 中的一些基本数据结构,包括数组、列表、元组、集合和映射。
2025-03-10 15:12:41
360
原创 Java_实例变量和局部变量及this关键字详解
关键字通常用来引用当前对象的实例。它可以用来区分对象的实例变量和局部变量,也可以在对象的方法中调用其他方法或构造函数。:如果在方法中没有局部变量和实例变量同名的情况下,可以省略。关键字,因为静态方法是与类相关联而不是与对象实例相关联的。:在一个构造函数中调用同一个类的其他构造函数时,可以使用。:在方法中需要将当前对象的引用传递给其他方法时,可以使用。实例变量和局部变量是常见的两种变量类型,区别。:当实例变量和局部变量重名时,可以使用。关键字来引用实例变量,以区分两者。
2024-12-10 16:40:01
423
原创 Spark_写ORALCE:ORA-01426 numeric overflow 问题解决
数据入到一半,每次都报错ORA-01426 numeric overflow,具体呢,也不告诉你哪个字段报的问题。本人的程序字段很多,领导们就是要看这个除了问题的数据是什么样的,so,尝试了好几次入不进去。字段是number(16),然后改为number(32),直至最后改到最大值都没用,最后不得不改为CLOB类型也就是text才入进入全部数据。是这样的,20241118,我spark程序写Oracle时候,关联完HBase数据后,在写入ORACLE中,遇到了这个bug,
2024-11-18 17:22:33
497
原创 HBase理论_HBase架构组件介绍
hbase master采用主备架构,master与regionserver采用主从架构(即一个HMaster会控制多个regionserver),HBase由zookeeper、HMaster、HRegionServer三部分组成,底层数据存储在HDFS上(存储到HDFS中的是Hfile文件)。HBase引入zookeeper,避免HMaster单点问题,HMaster主要负责table和region的管理工作:1 )管理用户的读写操作。
2024-11-14 11:51:44
1639
原创 HBase理论_背景特点及数据单元及与Hive对比
本文结合了个人的笔记以及工作中实践经验以及参考HBase官网,我尽可能把自己的知识点呈现出来,主要包含hbase基础数据单元的详细解释等,如果有误,还请指正。
2024-11-13 10:25:55
1316
原创 SparkBug记录_org.apache.hadoop.yarn.exceptions.ApplicationAttemptNotFoundException: Application attemp
今天遇到一个bug,之前我的包邮十几个程序在跑,一直都很正常,但是换了一个包之后,有些 程序就报错为。几番排查,都报这种问题,并且程序跑到一半自己就挂掉了,代码初次排查时没有问题。mark一下,解决了再来补充。
2024-11-12 12:26:18
242
原创 Spark_跑批__.checkpoint()为什么比.persist()快
昨天同事和我讨论了一个情况,情况是这样的:他在跑一个spark程序,跑的时候差不多五六分钟(加了persist的情况),如果不加persist,改为..checkpoint()缓存,速度基本维持在三四分钟左右,速度提升了不少,查了源码和资料,理解了些,先放着,后面再研究吧但是,我在实际开发过程中,仍然不会使用同事讲的.checkpoint(),我仍然会使用.persist()......checkpoint需要将数据写入磁盘,而且需要手动删!
2024-11-01 09:56:38
442
原创 Spark_入库时报错ORA-00001 unique constraint violated 解决办法
如果报主键冲突了,则group by 一下id,date,然后select 的时候加一个count(1) >1,语句如下。基本上对这个id的去重就ok,视情况而定,我的数据是建立在id这一列,id,对应的后续的其他数据都是一样的,所以我可以这么整。检查一下看看是否入库前删除了分区的数据,可能是重复数据入库的问题,如果不是这个那么继续排查。基本上我就是这么解决的。其他的暂时还没遇到过。我造了三条数据,以此演示一下。
2024-10-21 10:22:26
515
原创 解决Git拉取项目后右侧边栏无Maven的问题
从gitlab上拉取新项目,当你配置好maven仓库地址,配置文件,各种库都配置好了,但是没有Maven,找不到下图的package因此打包不了项目,该怎么办?非常简单,只需一步!
2024-10-14 10:32:20
471
原创 Spark-关于《传播溯源》算法的几点思考
刚接到需求时一脸懵,当时正值疫情,传播溯源在追踪0号感染者有很大的意义,当然在别的领域也是如此,来活了.......近日想起来刚工作不久时候组长安排给我的任务,基于Spark图计算代码开发一个传播溯源的代码。
2024-10-11 08:49:18
253
原创 Spark_解决Date is not a valid external type for schema of date
代码报错:Date is not a valid external type for schema of date。解决:Spark没有名为。的数据类型,应该使用。
2024-09-12 15:31:59
204
原创 OffsetExplorer2-快捷使用方式--将Data的数据类型是Byte Array修改为String
二、点击add cluster,四、配置的kafkatool界面。五、出现这个界面说明可以了。KafkaTool的使用。
2024-09-05 10:08:26
425
原创 Hive时间格式处理_将时间类型为yyyyMMdd转为yyyy-MM-dd类型
业务中要通过读取时间分区字段做筛选数据并处理,但是我表字段值为20240905类型的,我要把他转为2024-09-05适配我的时间传参。
2024-09-05 08:20:59
815
原创 Spark轨迹大数据高效处理_计算两经纬度点间的距离_使用Haversine formula公式
Haversine公式的数学理论基于球面三角学和三角恒等式的推导,通过近似计算大圆航线距离,适用于小距离的球面距离计算。这基本符合我的需求,因为我的计算都是基本是短距离计算的,基本不会跨省,实际效果也不错,如果你是超远距离计算,比如跨国,跨洲了,可以先试试,然后再考虑使用。
2024-08-08 09:29:10
601
原创 Spark轨迹大数据处理_scalaSpark代码实多点对多点的GIS点(经纬度点)的方位角计算
方位角(azimuthangle):从某点的指北方向线起,依顺时针方向到目标方向线之间的水平夹角,叫方位角。
2024-08-06 16:59:30
579
原创 Spark_获取指定日期的所在月份的天数完整指南
计算规则是某值除以近半年 天数以及24h,但是月份里面数据有空值,所以要计算一下id对应的月份的天数,并且过滤掉数据有空值的天数。本文将介绍如何Spark框架来计算给定日期所在月份的天数,并将其应用于一个实际的数据集。前段时间有一个开发需求的一小块用到了这,是一个利用率的计算。规则是某id下的近半年的值的小时利用率。我这个人写博客,总喜欢交代一下背景,好提醒自己这块是哪块的业务知识。业务千变万化,逻辑倒是少得可怜。得到这个结果我们就可以做后面的操作了,这是demo,比如说可以计算后续的操作了,over。
2024-08-06 14:42:21
365
原创 Spark轨迹大数据处理_scalaSpark代码实两个GIS点(经纬度点)之间的方位角计算
方位角(azimuthangle):从某点的指北方向线起,依顺时针方向到目标方向线之间的水平夹角,叫方位角。具体实例如下图方位角-数学百科废话不多说,直接上代码/*** 方位角是从一个地点指向另一个地点的方向,通常以度为单位,从正北方向顺时针测量。
2024-07-23 16:18:49
635
1
原创 Spark_Oracle_II_Spark高效处理Oracle时间数据:通过JDBC桥接大数据与数据库的分析之旅
接前文背景,当需要从关系型数据库(如Oracle)中读取数据时,Spark提供了JDBC连接功能,允许我们轻松地将数据从Oracle等数据库导入到Spark DataFrame中。然而,在处理时间字段时,可能会遇到一些挑战,特别是在Oracle的DATE和TIMESTAMP类型与Spark SQL的日期时间类型之间进行转换时。
2024-07-23 14:58:27
545
1
原创 Spark_Oracle_I_通过jdbc读取oracle程序报错invalid character
我原先是通过我么api直接读取的oracle,现在由于要并行读取这个oracle数据库表数据,因此采用jdbc的方式,一开始我把sql变成query直接查,所以报上面的问题。其实一开始就是想要快一点读取oracle表数据,但是发现设置这个并行度和我调我们自己搞得类时间是差不多的。效率我在优化一下吧,看看时间怎么样。不加query,直接在这里整出全表数据,然后再filter一下我们要的数据。这样是不行的,不能加query。
2024-07-22 17:25:31
779
原创 Git使用-本地的idea代码如何整到gitlab上面的项目分支中
以下是本人常用的GIT提交与上传代码,请选择适配自己的方式,仅供参考。第一步,一般来说,我们从GIT上拉下来项目分支代码后,做些修改什么的,相关的代码都会变色。当然我们提交的部分就是我们修改的部分。有的还会选择让你merge啥的。
2024-07-15 10:39:12
471
原创 Spark_Hive_列转行、行转列生产操作(透视和逆透视)
行专列,列转行是数开不可避免的一步,尤其是在最初接触Hive的时候,看到什么炸裂函数,各种udf,有点发憷,无从下手,时常产生这t怎么搞,我不会啊?好吧,真正让你成长的,还得是甩给你一个需求,然后你自己绞尽脑汁的去实现。
2024-06-20 09:54:07
539
原创 Hive常用函数总结
if函数在select中的用法,做判断用,abs是加了绝对值,后面又加了字段类型的限制,可以说是基本大规模字段的判断来讲,if和case when还是很好用的。if函数的一个长的判断逻辑,if函数里可以添加很多项,比如下面的,我加了很多个判断逻辑。avg ,max,等等,也可以加上窗口函数。未完待续......
2024-06-18 10:23:16
143
原创 Spark_SparkOnHive_海豚调度跑任务写入Hive表失败解决
方法将 DataFrame 的数据插入到一个已经存在的Hive表中,如果该表已经存在,则直接将数据插入到该表中,如果表不存在,则会抛出异常。如果表不存在,则会自动创建该表,如果表已经存在,则会用DataFrame的数据覆盖该表中的数据。前段时间我在海豚上打包程序写hive出现了一个问题,spark程序向hive写数据时,报了如下bug,后来我删了建,把分区也删了,parquet格式也加了,还是报这个问题,因此排除是建表问题。后来我看代码,入库的语句如下,死活写不进去。如上,为什么会这样呢,我想了一下,
2024-05-28 15:52:08
589
原创 Spark_SparkSql写入Oracle_Undefined function.....将长字符串写入Oracle中方法..
在使用Spark编写代码将读库处理然后写入Oracle中遇到了诸多小bug,很磨人。shit!!
2024-04-10 17:54:15
689
原创 Hive-生产常用操作-表操作和数据处理技巧
我这个只涉及到hive的对表的操作,包括建表,建分区表,加载数据,导出数据,查询数据,删除数据,插入数据,以及对hive分区表的操作,包括查看分区,添加分区,分区名修改,分区数据修改,删除分区等。 复杂的聚合函数以及常用的炸裂函数的应用,行转列在这是没有体现出来的,后边有时间结合业务我再来写吧。 基本都在hue上对hive进行操作,仅限于查查表,改改数据,而复杂的处理逻辑基本是使用spark写算法,调sparksql,或者sparkcore来实现的。
2024-04-09 11:24:48
674
原创 SparkBug解决:Type mismatch; found : org.apache.spark.sql.Column required: Double
返回的是一个布尔值,需要返回一个Option[Int]类型。来返回一个Option[Int]方法中的条件判断条件。
2024-04-03 17:43:28
550
原创 SparkBug解决 :java.lang.UnsupportedOperationException: Schema for type Any is not supported
为了解决这个问题,将 UDF 的返回类型指定为。出现这个错误是因为 Spark 不支持使用。类型作为列的数据类型。,并在 UDF 中返回。
2024-04-03 17:13:52
296
原创 SparkBug解决:spark跑调度任务azkaban,reference “字段1” id ambigous,could be...
原因,字段重复了。
2024-03-29 14:38:31
190
原创 Spark-根据命令行参数(args)中传递的值来计算前一天或者根据默认设置获取昨天的日期
【代码】Spark-根据命令行参数(args)中传递的值来计算前一天或者根据默认设置获取昨天的日期。
2024-03-15 10:10:17
192
原创 IDEA打包Spark代码出现bug:java.io.Eception:cannot create output directory......target解决1
我在打包代码时,点击clean后,再点击install,就报上面的bug。解决办法,关闭sftp就行。
2024-03-15 09:40:24
400
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人