
Spark
文章平均质量分 81
Spark
TTXS123456789ABC
基础要扎实!方案设计,baseline落地,发现问题,解决问题,方案优化(利他+敬畏生产)。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spark技术理解
开发中如何保证数据的安全性性及读取效率: 可以对频繁使用且重要的数据,先做缓存/持久化,再做 checkpint 操作。-持久化和 Checkpoint 的区别:1.位置: Persist 和 Cache 只能保存在本地的磁盘和内存中(或者堆外内存–实验中) Checkpoint 可以保存数据到 HDFS 这类可靠的存储上。原创 2025-03-08 20:12:35 · 948 阅读 · 0 评论 -
11 Spark面试真题
但是spark也有劣势,由于spark基于内存进行计算,虽然开发容易,但是真正面对大数据的时候,在没有进行调优的情况下,可能会出现各种各样的问题,比如OOM内存溢出等情况,导致spark程序可能无法运行起来,而mapreduce虽然运行缓慢,但是至少可以慢慢运行完。父RDD的每一个partition中的数据,都可能会传输一部分到下一个子RDD的每一个partition中,此时会出现父RDD和子RDD的partition之间具有交互错综复杂的关系,这种情况就叫做两个RDD之间是宽依赖。原创 2025-01-30 21:19:59 · 1270 阅读 · 0 评论 -
10 故障排除
YARN-client模式下,Driver是运行在本地机器上的,Spark使用的JVM的PermGen的配置,是本地机器上的spark-class文件,JVM永久代的大小是128MB,这个是没有问题的,但是在YARN-cluster模式下,Driver运行在YARN集群的某个节点上,使用的是没有经过配置的默认设置,PermGen永久代大小为82MB。reduce端拉取数据的缓冲区减小,不容易导致OOM,但是相应的,reudce端的拉取次数增加,造成更多的网络传输开销,造成性能的下降。原创 2025-01-30 20:58:52 · 641 阅读 · 0 评论 -
9 Spark性能优化_Shuffle调优
在Spark任务运行过程中,如果shuffle的map端处理的数据量比较大,但是map端缓冲的大小是固定的,可能会出现map端缓冲数据频繁spill溢写到磁盘文件中的情况,使得性能非常低下,通过调节map端缓冲的大小,可以避免频繁的磁盘IO操作,进而提升Spark任务的整体性能。map端缓冲的默认配置是32KB,如果每个task处理640KB的数据,那么会发生640/32 = 20次溢写,如果每个task处理64000KB的数据,即会发生64000/32=2000次溢写,这对于性能的影响是非常严重的。原创 2025-01-30 20:56:47 · 658 阅读 · 0 评论 -
9 Spark性能优化_RDD算子调优
Spark SQL这一步的并行度和task数量肯定是没有办法去改变了,但是,对于Spark SQL查询出来的RDD,立即使用repartition算子,去重新进行分区,这样可以重新分区为多个partition,从repartition之后的RDD操作,由于不再涉及Spark SQL,因此stage的并行度就会等于你手动设置的值,这样就避免了Spark SQL所在的stage只能用少量的task去处理大量数据并执行复杂的算法逻辑。默认情况下,Spark使用Java的序列化机制。原创 2025-01-30 20:54:00 · 1481 阅读 · 0 评论 -
8 Spark 数据倾斜
就是数据分到各个区的数量不太均匀,可以自定义分区器,想怎么分就怎么分。Spark中的数据倾斜问题主要指shuffle过程中出现的数据倾斜问题,是由于不同的key对应的数据量不同导致的不同task所处理的数据量不同的问题。例如,reduced端一共要处理100万条数据,第一个和第二个task分别被分配到了1万条数据,计算5分钟内完成,第三个task分配到了98万数据,此时第三个task可能需要10个小时完成,这使得整个Spark作业需要10个小时才能运行完成,这就是数据倾斜所带来的后果。原创 2025-01-30 20:43:04 · 1023 阅读 · 0 评论 -
7 Spark 底层执行原理
Spark 运行流程Spark运行流程具体运行流程如下:1.SparkContext 向资源管理器注册并向资源管理器申请运行 Executor2.资源管理器分配 Executor,然后资源管理器启动 Executor3.Executor 发送心跳至资源管理器4.SparkContext 构建 DAG 有向无环图5.将 DAG 分解成 Stage(TaskSet)6.把 Stage 发送给 TaskScheduler。原创 2025-01-30 20:36:12 · 1350 阅读 · 0 评论 -
6 Spark 的两种核心 Shuffle
在 MapReduce 框架中, Shuffle 阶段是连接 Map 与 Reduce 之间的桥梁, Map 阶段通过 Shuffle 过程将数据输出到 Reduce 阶段中。由于 Shuffle 涉及磁盘的读写和网络 I/O,因此 Shuffle 性能的高低直接影响整个程序的性能。Spark 也有 Map 阶段和 Reduce 阶段,因此也会出现 Shuffle。原创 2025-01-30 20:30:55 · 757 阅读 · 0 评论 -
5 Structured Streaming
在 2.0 之前,Spark Streaming 作为核心 API 的扩展,针对实时数据流,提供了一套可扩展、高吞吐、可容错的流式计算模型。Spark Streaming 会接收实时数据源的数据,并切分成很多小的 batches,然后被 Spark Engine 执行,产出同样由很多小的 batchs 组成的结果流。本质上,这是一种 micro-batch(微批处理)的方式处理,用批的思想去处理流数据.这种设计让Spark Streaming 面对复杂的流式处理场景时捉襟见肘。原创 2025-01-30 20:21:00 · 741 阅读 · 0 评论 -
4 Spark Streaming
可以把汽车的经过看成一个流,无穷的流,不断有汽车经过此红绿灯,因此无法统计总共的汽车数量。但是,我们可以换一种思路,每隔 15 秒,我们都将与上一次的结果进行 sum 操作(滑动聚合, 但是这个结果似乎还是无法回答我们的问题,根本原因在于流是无界的,我们不能限制流,但可以在有一个有界的范围内处理无界的流数据。Spark Streaming 的基础抽象是 DStream(Discretized Stream,离散化数据流,连续不断的数据流),代表持续性的数据流和经过各种 Spark 算子操作后的结果数据流。原创 2025-01-30 20:12:28 · 1389 阅读 · 0 评论 -
3 Spark SQL
数据分类总结:-定义 特点 举例-Spark 处理什么样的数据?RDD 主要用于处理非结构化数据 、半结构化数据、结构化;SparkSQL 主要用于处理结构化数据(较为规范的半结构化数据也可以处理)。-总结:SparkSQL 是一个既支持 SQL 又支持命令式数据处理的工具;SparkSQL 的主要适用场景是处理结构化数据(较为规范的半结构化数据也可以处理)。DataFrame = RDD - 泛型 + Schema + SQL + 优化。原创 2025-01-30 20:04:34 · 1283 阅读 · 0 评论 -
2Spark Core
开发中如何保证数据的安全性性及读取效率: 可以对频繁使用且重要的数据,先做缓存/持久化,再做 checkpint 操作。-持久化和 Checkpoint 的区别:1.位置: Persist 和 Cache 只能保存在本地的磁盘和内存中(或者堆外内存–实验中) Checkpoint 可以保存数据到 HDFS 这类可靠的存储上。原创 2025-01-15 18:43:10 · 997 阅读 · 0 评论 -
1Spark 基础
Spark 也可以不依赖于第三方的资源管理和调度器,它实现了 Standalone 作为其内置的资源管理和调度框架,这样进一步降低了 Spark 的使用门槛,使得所有人都可以非常容易地部署和使用 Spark。Spark 提供了统一的解决方案。虽然 MapReduce 提供了对数据访问和计算的抽象,但是对于数据的复用就是简单的将中间数据写到一个稳定的文件系统中(例如 HDFS),所以会产生数据的复制备份,磁盘的 I/O 以及数据的序列化,所以在遇到需要在多个计算之间复用中间结果的操作时效率就会非常的低。原创 2025-01-15 17:40:49 · 1084 阅读 · 0 评论 -
sparkmlib调用
sparkmlib调用原创 2023-06-14 14:14:04 · 663 阅读 · 0 评论 -
Spark Streaming
/1.初始化 Spark 配置信息/* 自定义数据采集器1.继承Receiver,定义泛型,传递参数2.重写方法*/val message = "采集的数据为:" + new Random().nextInt(10).toString}).start()flg=false;原创 2023-11-08 19:09:56 · 478 阅读 · 0 评论 -
SparkSql
sparksql写入mysql。提前在mysql中建好表。原创 2023-11-08 19:09:17 · 186 阅读 · 0 评论 -
分布式kmeans(scala原码实现)
分布式kmeans原创 2023-07-17 08:49:54 · 855 阅读 · 0 评论 -
spark读取MySQL数据机器学习预测存入MySQL
【代码】spark读取MySQL数据机器学习预测存入MySQL。原创 2024-01-16 22:09:45 · 383 阅读 · 0 评论 -
SparkML
SparkML_lr_predict :读取训练好的模型,读取py处理后的test表用于预测。将预测结果写入normal_data中,根据id修改stream_is_normal的值。SparkML_lr_train :读取py处理后的train表用于训练,将训练模型保存好。启动hadoop(启动脚本)启动spark(命令行启动)原创 2023-11-08 19:09:32 · 274 阅读 · 0 评论 -
spark笔记
spark笔记原创 2023-07-20 21:37:58 · 272 阅读 · 0 评论 -
spark_idea
spark_idea原创 2023-06-14 14:21:43 · 1098 阅读 · 0 评论