一、基本介绍 1,ChatGLM3 介绍 (1)ChatGLM3 是智谱 AI 和清华大学 KEG 实验室联合发布的对话预训练模型。 (2)ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性......
六、算子优化1:map vs mapPartitions 1,基本介绍 (1)map 操作:对 RDD 中的每个元素进行操作,一次处理一条数据。 (2)mapPartitions 操作:对 RDD 中每个 partition 进行操作,一次处理一个分区的数据。 2,二者对比 (1)OOM 方面对比: map 操作......
五、数据本地化 1,基本介绍 (1)数据本地化,指的是数据离计算它的代码有多近。数据本地化对于 Spark Job 性能有着巨大的影响。 如果数据以及要计算它的代码是在一起的,那么性能当然会非常高。 但是,如果数据和计算它的代码是分开的,那么其中之一必须到另外一方的机器上......
四、提高并行度 1,并行度介绍 (1)Spark 会自动设置以文件作为输入源的 RDD 的并行度,依据其大小,比如 HDFS,就会给每一个 block 创建一个 partition,也依据这个设置并行度。对于 reduceByKey 等会发生 shuffle 操作的算子,会使用并行度最大的父 RDD 的并行度......
三、JVM 垃圾回收调优 1,Java 中的 GC 介绍 (1)Java 堆空间被划分成了两块空间:一个是年轻代,一个是老年代。 年轻代放的是短时间存活的对象,占堆内存的 1/3。 老年代放的是长时间存活的对象,占堆内存的 2/3。 (2)其中年轻代又被划分了三块,Eden、Survivor1、Survivor2......
1,问题描述 (1)最近在给项目中的一个 echarts 图表添加了 toolbox 工具栏: option = { toolbox: { feature: { saveAsImage: {}, // 导出图片......
二、使用高性能序列化类库 1,基本介绍 (1)Spark 默认会在一些地方对数据进行序列化,如果我们的算子函数使用到了外部的数据(比如 Java 中的自定义类型),那么也需要让其可序列化,否则程序在执行的时候是会报错的,提示没有实现序列化......
一、查看数据 cache 到内存后占用的大小 1,基本介绍 (1)Spark 是一个基于内存的计算引擎,所以对它来说,影响最大的可能就是内存,一般我们的任务如果遇到了性能瓶颈大概率都是内存的问题。 (2)当把原始文件中的数据转化为内存中的对象之后,占用的内存会比原始文件中的数据要大......
1,问题描述 最近使用 Scala 编写了个 Spark 程序,在本地运行是正常的,但打成 Jar 包使用 spark-submit 命令提交到 Spark 集群执行时就报如下错误: Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: scala/collection/mutable/ArraySeq$ofRef at WordCount$.main......
1,问题描述 最近需要在本地使用 IDEA 进行 Spark 程序的调试,但一运行程序就报如下错误: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/SparkConf at Hello$.main(Hello.scala:7) at Hello.main(Hello.scala)......