随笔分类 - 大数据-Spark
摘要:一、Spark核心技术原理 1. 弹性分布式数据集(RDD) 核心特性: 分布式存储与并行计算:数据划分为多个分区(Partition),分布在集群节点上并行处理,支持横向扩展。 血缘关系(Lineage)与容错:通过记录转换操作的血缘关系,故障时重新计算丢失的分区,避免数据冗余
阅读全文
摘要:一、Spark 性能优化 1.1 常规性能优化 生产环境 Spark submit 脚本 /usr/local/spark/bin/spark-submit \ --class com.atguigu.spark.WordCount \ --num-executors 80 \ --driver-m
阅读全文
摘要:如何设置Spark资源并行度? Spark 资源并行度由Executor数量和Executor CPU核数共同决定,任务可并行执行的最大Task数量为Executor数量 * Executor CPU核数。 Executor数量 参数:spark.executor.instances。 参数说明:该
阅读全文
摘要:一、Spark核心概念与机制 1. Spark架构与执行流程 问题1:解释Spark Driver、Executor、Cluster Manager的职责与协作流程,如何动态调整Executor资源? 答案: 职责: Driver:负责解析用户程序,生成DAG执行计划,调度任
阅读全文
摘要:一. AQE是什么? 1、 产生背景 Spark 2.x 在遇到有数据倾斜的任务时,需要人为地去优化任务,比较费时费力;如果任务在Reduce阶段,Reduce Task 数据分布参差不齐,会造成各个excutor节点资源利用率不均衡,影响任务的执行效率;Spark 3新特性AQE极大地优化了以上任
阅读全文
摘要:一、资源调优 增加Executor内存通过调整Executor内存参数,确保任务有足够资源处理数据: spark-submit --executor-memory 8G --driver-memory 2G ... # 示例命令 场景示例:处理10TB级日志时,将executor-me
阅读全文
摘要:一、Spark核心概念 1、RDD的五大特性是什么?如何理解弹性分布式数据集? RDD的五大特性包括:分区列表(Partitions)、依赖关系(Dependencies)、计算函数(Compute Function)、分区器(Partitioner)和优先位置(Preferred Locati
阅读全文
摘要:以下是几个 及解决方案,结合具体场景说明: 案例1:Guava 依赖冲突导致 IllegalAccessError 报错信息:java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatc
阅读全文
摘要:一、调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。 二、数据倾斜发生时的现象 绝大多数task执行得都非常快,但个别task执行极慢。比如,
阅读全文
摘要:一、spark直接读取本地文件系统的文件(不推荐)file前缀地址“file:///”,例如:文件绝对路径为/data/20240606,那么文件名应该设置为:file:///data/20240606 说明: (1)本地文件系统地址的前缀是“file:///”后边也必须是全部的绝对路径,不能用相对
阅读全文
摘要:问题 在跑spark任务的时候发现任务不能执行。在查看的时候发现spark work节点的/usr/local/spark/work/目录占用了很大空间,导致根目录/满了。 原因使用spark standalone模式执行任务,没提交一次任务,在每个节点work目录下都会生成一个文件夹,命名规则ap
阅读全文
摘要:访问Web UI页面的前提: 启动Spark安装目录下sbin/start-all.sh 。 jps可以看到Master和Worker。 1、Spark的Master页面 http://master:8080/ 2、Spark的Worker页面 http://master:8081/ 3、Spark
阅读全文
摘要:问题描述:通过IDEA的maven打包含Spark的Jar包,上传到Linux服务器上执行时报错: Error: A JNI error has occurred, please check your installation and try againException in thread "ma
阅读全文
摘要:spark-submit 是用于提交Spark应用到集群的命令行工具。它允许用户控制Spark应用的各种参数,比如应用名、集群URL、运行模式、资源分配等。以下是一些常用的 spark-submit 参数: --master MASTER_URL ,其中 MASTER_URL 可选如下: local
阅读全文
摘要:一、任务占用资源计算 executor占用CPU = executor_instances * executor_cores * 10 * 0.8(0.1核) executor占用内存 = executor_instances * (executor.memory + max(executor.me
阅读全文
摘要:背景说明 Spark SQL 还包括一个数据源,该数据源可以使用 JDBC 从其他数据库读取数据。这 功能应优先于使用 JdbcRDD。 这是因为返回了结果 作为 DataFrame,它们可以很容易地在 Spark SQL 中处理或与其他数据源联接。 JDBC 数据源也更易于从 Java 或 Pyt
阅读全文
摘要:问题描述 启动spark-sql时报错: Caused by: org.datanucleus.exceptions.NucleusException: Attempt to invoke the "BONECP" plugin to create a ConnectionPool gave an
阅读全文
摘要:Spark Core面试篇01 一、简答题 1.Spark master使用zookeeper进行HA的,有哪些元数据保存在Zookeeper? 答:spark通过这个参数spark.deploy.zookeeper.dir指定master元数据在zookeeper中保存的位置,包括Worker,D
阅读全文
摘要:一、谓词下推 Predicate PushDown 谓词下推的目的:将过滤条件尽可能地下沉到数据源端。 谓词,用来描述或判定客体性质、特征或者客体之间关系的词项,英文翻译为predicate,而谓词下推的英文Predicate Pushdown中的谓词指返回bool值即true和false的函数,或
阅读全文