![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spark
文章平均质量分 94
Spark
四月天03
能用钱解决的问题,千万别花时间
展开
-
SparkSQL的自适应执行-Adaptive Execution
SparkSQL自适应执行阿里云E-MapReduce 3.13.0及后续版本的SparkSQL支持自适应执行功能,可以用来解决Reduce个数的动态调整、数据倾斜和执行计划的动态优化问题。使用限制本文针对SparkSQL自适应执行涉及到的参数适用于Spark 2.x。如果您使用的是Spark 3.x,请参见Adaptive Query Execution。解决问题SparkSQL自适应执行解决以下问题:Shuffle partition个数 目前SparkSQL中reduce阶段原创 2021-07-23 23:27:27 · 1147 阅读 · 1 评论 -
YARN 详解 --- ResourceManager, NodeManager以及ApplicationMaster
一、什么是YARNYARN是Hadoop2.0版本新引入的资源管理系统,直接从MR1演化而来。核心思想:将MP1中JobTracker的资源管理和作业调度两个功能分开,分别由ResourceManager和ApplicationMaster进程来实现。 1)ResourceManager:负责整个集群的资源管理和调度。 2)ApplicationMaster:负责应用程序相......原创 2019-03-18 15:50:20 · 12802 阅读 · 2 评论 -
Spark 中 JVM 内存使用及配置详情、spark报错与调优、Spark内存溢出OOM异常
一般在我们开发spark程序的时候,从代码开发到上线以及后期的维护中,在整个过程中都需要涉及到调优的问题,即一开始需要考虑如何把代码写的更简洁高效调优(即代码优化),待开发测试完成后,提交任务时综合考量该任务所需的资源(这里涉及到资源调优),上线后是否会出现数据倾斜问题(即倾斜调优),以及是否出现频繁GC问题(这里涉及到GC调优)。那么本篇通过反推的模式,即通过GC调优进行延伸扩展,比如出现GC问题是不是可能出现了倾斜?如果没有出现倾斜,是不是我们给的资源不足?如果资源...原创 2020-05-08 16:08:18 · 6684 阅读 · 0 评论 -
Spark性能调优--资源参数调优、算子调优、Shuffle参数调优、Spark 数据倾斜调优
一、资源参数调优 了解完了Spark作业运行的基本原理之后,对资源相关的参数就容易理解了。所谓的Spark资源参数调优,其实主要就是对Spark运行过程中各个使用资源的地方,通过调节各种参数,来优化资源使用的效率,从而提升Spark作业的执行性能。以下参数就是Spark中主要的资源参数,每个参数都对应着作业运行原理中的某个部分,我们同时也给出了一个调优的参考值。num-executors 参数说明:该参数用于设置Spark作业总共要用多少个Executor进程来执行。Driver在向...原创 2019-07-09 11:56:45 · 7574 阅读 · 1 评论 -
hive(spark-sql) -e -f -d以及传参数, sh并行
1. 使用“spark-sql -e”与“Hive”一样,Spark SQL CLI也支持“-e”参数spark-sql-e "insert intotable ***"Spark-SQL导出查询结果到 results.txtspark-sql --num-executors 100 -e "select * from table" > results.txt ...原创 2019-09-05 15:24:23 · 8698 阅读 · 2 评论 -
Spark SQL操作不同数据源、输出操作
https://www.cnblogs.com/xlturing/p/spark.html#spark%E8%AE%BF%E9%97%AEhbaseSpark SQL支持通过DataFrame接口操作的多种不同的数据源。DataFrame提供支持统一的接口加载和保存数据源中的数据,包括:结构化数据,Parquet文件,JSON文件,Hive表 ,以及通过JDBC连接外部数据源。与Hive类...原创 2019-03-26 15:46:04 · 1846 阅读 · 0 评论 -
Spark SQL运行原理解析
传统关系型数据库中 ,最基本的sql查询语句由projecttion (field a,field b,field c) , datasource (table A) 和 fieter (field a >10) 三部分组成。 分别对应了sql查询过程中的result , datasource和operation ,也就是按照result ——> datasource ——> operation 的顺序来描述,如下图所示:但是sql实际执行过程是按照operation——&..原创 2021-10-09 22:26:44 · 2539 阅读 · 0 评论 -
Spark SQL:RDD、DataFrame和DataSet的区别,相互转化、 SparkSql中的UDF、 UDAF函数
一、RDD、DataFrame、DataSetRDD和DataFrame:以Person实体为例探究 当我们以两种不同的方式读取到Person数据,Person会作为RDD的类型参数,但是Spark无法知晓内部结构,而dataFrame可以清楚加载到Person实体的内部结果和具体的数据:RDD虽然以Person为类型参数,但是Spark框架并不了解Perso...原创 2019-11-22 18:18:44 · 1242 阅读 · 1 评论 -
Spark-submit提交源码解析、DAGScheduler, TaskScheduler
##spark-yarn-cluster模式bin/spark-submit \--class org.apache.spark.examples.SparkPi \--num-executors 2 \--master yarn \--deploy-mode cluster \./examples/jars/spark-examples_2.11-2.1.1.jar \10...原创 2019-03-03 11:57:14 · 463 阅读 · 0 评论 -
Spark 常用算子。RDD 持久化。 Spark 共享变量 Broadcast,Accumulator
1、Transformations算子(lazy)含义:create a new dataset from an existing on 从已经存在的创建一个新的数据集RDDA---------transformation----------->RDDBSpark32个常用算子总结https://blog.csdn.net/fortuna_i/article/details/81...原创 2019-02-28 18:49:27 · 760 阅读 · 0 评论 -
Spark分区 partition 详解
一、Spark数据分区方式简要 在Spark中,RDD(Resilient Distributed Dataset)是其最基本的抽象数据集,其中每个RDD是由若干个Partition组成。在Job运行期间,参与运算的Partition数据分布在多台机器的内存当中。这里可将RDD看成一个非常大的数组,其中Partition是数组中的每个元素,并且这些元素分布在多台机器中。图一中,RDD1包含了5个Partition,RDD2包含了3个Partition,这些Partiti...原创 2020-08-05 18:40:06 · 24744 阅读 · 2 评论 -
python执行spark任务sparksql、Spark 并发量测试
数据治理这个概念已经提出了十多年,由于视角及侧重点不同,业界给出的数据治理定义多达几十种,到目前为止还未形成统一标准的定义,我们暂且以IBM数据治理委员会给出的定义作为本文的理解基础。数据治理是针对数据管理的质量控制规范,它将严密性和纪律性植入企业的数据管理、利用、优化和保护过程中。有意思的是,和数据治理类似,业界对数据中台也并未形成统一的概念定义,比较普遍的看法是:数据中台是一套可持续的“让企业的数据用起来”的机制,是一种战略选择和组织形式,是依据企业特有的业务模式和组织架构,通过有形的产品和实施方法论转载 2021-11-17 15:42:03 · 1398 阅读 · 2 评论 -
Spark原理、Yarn 、资源参数
一、名词解释:1、master节点:常驻master进程,负责管理全部worker节点。Master其实就是调度资源,还有就是集群的监控2、worker节点:常驻worker进程,负责管理executor并与master节点通信。进行资源的分配,一个物理节点可以有一个或多个worker。一个worker中可以有一个或多个executor,一个executor拥有多个cpu core和memory。3、driver:Spark驱...原创 2019-02-27 15:28:40 · 1960 阅读 · 0 评论 -
Java日志管理:Log4j & Spark设置日志级别的三种方式
一、Logger.getLogger()和LogFactory.getLog()的区别1.Logger来自log4j自己的包。如果用Logger.getLogger(),需要一个log4j的jar包,用此方式你只能依log4j2.LogFactory.getLog()则来自apache的common-logging包。你可以用任何实现了通用日志接口的日志记录器替换log4j,而程序不受影响...原创 2019-03-04 09:58:17 · 1295 阅读 · 0 评论 -
spark 面试题汇总
大数据面试题汇总大数据面试题汇总 - 简书spark 资源调优1、列式存储和行式存储的区别行存储,数据行存储,一个文件可表达一个二维表。适用于一般的业务场景如CSV文件,文本文件因为这里的行结构是固定的,每一行都一样,即使你不用,也必须空到那里,而不能没有,而这样的空行也是需要占用一定的存储空间的,如果这样的空行占比较大,势必带来较大的存储空间的浪费,那么是否有什么好的解决办法么?相当于将每一行的每一列拆开,然后通过rowkey(行唯一键)关联起来,rowkey...原创 2019-08-13 10:47:01 · 6318 阅读 · 0 评论