Spark
文章平均质量分 64
Spark 二三事
高达一号
这个作者很懒,什么都没留下…
展开
-
Hive_Spark_left()函数
参数不会大于字符串的实际长度,否则结果可能会根据不同数据库系统的实现而有所不同。一些数据库系统可能返回整个字符串,而另一些则可能返回空字符串或NULL。函数是一个字符串函数,用于从一个字符串的左侧开始提取指定数量的字符。函数在不同的数据库系统中可能会有不同的实现,因此在使用特定数据库时,应当参考相应的文档。比如,在Oracle数据库中,你会使用。是一个正数,表示从字符串左侧开始要提取的字符数量。是你想要从中提取子字符串的字符串表达式。第一个参数是要从中提取字符的字符串。第二个参数指定要提取的字符数。原创 2023-11-29 14:21:39 · 917 阅读 · 0 评论 -
Hive_last_value()
函数是一个窗口函数,用于返回窗口内的最后一个值。在同一分区内,窗口函数将独立计算每个分区。表示基于指定的列或表达式对行进行排序,这对于定义“最后”是基于什么顺序很重要。,它可能不会返回期望的结果。为了确保能够得到分区内所有行的最后一个值,可以使用。两列,以下SQL语句将返回每个分区(在本例中为每个日期)的最后一个。子句一起使用,后者定义了窗口的分区、排序和范围。默认的窗口范围是到当前行,因此如果没有特定的。是很重要的,这样才能得到你想要的结果。(可选)定义了窗口的范围,默认是。原创 2023-11-29 14:13:54 · 1327 阅读 · 0 评论 -
Spark_日期参数解析参数-spark.sql.legacy.timeParserPolicy
在Spark 3.0之前的版本中,日期和时间解析使用java.text.SimpleDateFormat,它在解析某些日期和时间格式时可能较为宽松。例如,它可能允许日期字符串中的月份部分超过12,或日期部分超过31,并尝试自动调整。如果你的代码中有日期和时间解析,并且你升级到了Spark 3.0或更高版本,那么你可能需要关注这个配置选项,以确保代码的兼容性和期望行为。如果你的日期和时间字符串格式严格并始终遵循ISO标准,或者你希望采用更严格的解析策略,那么你应该使用默认的。在Apache Spark中,原创 2023-11-29 13:50:44 · 1206 阅读 · 0 评论 -
Spark_spark hints 详细介绍
spark 中hints 的优先级高于,代码中的config, 高于spark_submit 中的commit。原创 2023-11-29 11:05:21 · 363 阅读 · 0 评论 -
Spark_spark shell退出方式
本文介绍了四种退出Spark Shell的方式:使用退出命令、使用Ctrl+D组合键、使用系统命令和结束Shell进程。这些方式都可以有效地退出Spark Shell,并释放资源。在使用Spark Shell时,我们可以根据实际需求选择合适的退出方式。遵循良好的退出习惯,可以提高工作效率,同时避免资源浪费。原创 2023-11-28 17:18:45 · 2031 阅读 · 0 评论 -
Spark_Spark高阶特性
spark本身对parquet支持比较好,因为parquet。Parquet 支持批量读取。filter导致断链。原创 2023-11-28 16:35:40 · 228 阅读 · 0 评论 -
Spark_spark参数配置优先级
spark-submit 提交的优先级 < scala/java代码中的配置参数 < spark SQL hint。优先级低-》优先级高。原创 2023-11-28 14:32:07 · 754 阅读 · 0 评论 -
Spark_Spark常见问题与解决方案
Spark常见报错与解决方案【三】_7337端口_大数据学习僧的博客-CSDN博客原创 2023-11-28 08:20:57 · 97 阅读 · 0 评论 -
Spark spark参数调优最佳实践
所有网络交互的默认超时时间。如果未配置,则将使用此配置代替spark.storage.blockManagerSlaveTimeoutMs,spark.shuffle.io.connectionTimeout,spark.rpc.askTimeout或spark.rpc.lookupTimeout。spark.network.timeout 根据情况改成300(5min)或更高。若如出现各种timeout,executor lost ,task lost。原创 2023-11-28 08:19:51 · 187 阅读 · 0 评论 -
Spark SQL,DF,RDD cache常用方式
对于dataframe。原创 2023-11-28 07:57:47 · 288 阅读 · 0 评论 -
大数据_面试_ETL组件常见问题_spark&flink
通过webui定位那个表以及jobid,jobid找对应的执行计划。spark数据处理得数据倾斜与解决方案 aqe。flink cdc如何确保幂等与一致性。spark 3.0 AQE动态优化。spark与flink的主要区别。sparksql如何调优。hdfs的常见的压缩算法。spark sql调优。hbase的数据倾斜。原创 2023-07-19 15:19:26 · 763 阅读 · 0 评论 -
Spark_Spark内存模型管理
工作中经常用到Spark内存调参,之前还没对这块记录,这次记录一下。原创 2023-09-15 13:51:40 · 286 阅读 · 0 评论 -
Spark_Spark常见问题自查
转载自 :小伙伴在写Spark任务的过程中感觉非常巨痛苦,总是有奇奇怪怪的问题,写好的程序在开发环境跑得好好的,一上到生产直接被干懵逼了。今天呢,我就跟大伙好好聊聊 Spark 在启动或者运行时的报错或者太慢,并分析其原因及解决方案。自己亲手挖的坑,抹着泪也要趟过去。现在我就跟你们细细说说我过去一年实际经验亲脚趟的坑。转载 2023-08-31 23:41:27 · 148 阅读 · 0 评论 -
Spark_Spark3.0功能特性
本文主要讲解一下Spark3.0中的功能特性,相对于老版本,表述不周的地方欢迎评论。2020年6月18日,开发了近两年(自2018年10月份至今)的Apache Spark 3.0.0正式发布!Apache Spark 3.0.0版本包含3400多个补丁,是开源社区做出巨大贡献的结晶,在Python和SQL功能方面带来了重大进展并且将重点聚焦在了开发和生产的易用性上。同时,今年也是Spark开源10周年,这些举措反映了Spark自开源以来,是如何不断的满足更广泛的受众需求以及更多的应用场景。转载 2023-08-23 01:44:13 · 369 阅读 · 0 评论 -
Spark_调优_Spark3.0之SparkSQL_AQE( adaptive query execution)自适应查询_参数讲解
参考文章:https://blog.csdn.net/jiangshouzhuang/article/details/104453937在本篇文章中,笔者将给大家带来 Spark SQL 中关于自适应执行引擎(Spark Adaptive Execution)的内容。在之前的文章中,笔者介绍过 Flink SQL,目前 Flink 社区在积极地更新迭代 Flink SQL 功能和优化性能,尤其 Flink 1.10.0 版本的发布,在增强流式 SQL 处理能力的同时也具备了成熟的批处理能力。但.转载 2020-12-19 17:23:48 · 2694 阅读 · 3 评论 -
SparkSQL_Spark SQL运行流程及性能优化:RBO和CBO
基于代价的优化器(Cost Based Optimizer,CBO)已经包含了Join重排的优化规则,join重排通过影响中间结果、具体join算法,从而影响join的执行效率Join的顺序影响中间结果的数据量,决定了Join的执行效率假如A,B,C的数据量各自是1000条记录,如果A ⋈ C的数据量是1条记录,A ⋈ B是100条记录,显然A ⋈ B ⋈ C的效率低于A ⋈ C ⋈ B,因为前者的中间结果是100条记录,而后者是1条。转载 2023-09-06 11:46:07 · 291 阅读 · 0 评论 -
Spark_Spark3.0特性之动态分区裁剪
参考文章 :Spark 3.0 为我们带来了许多令人期待的特性。动态分区裁剪(dynamic partition pruning)就是其中之一。本文将通过图文的形式来带大家理解什么是动态分区裁剪。转载 2023-08-24 21:55:51 · 372 阅读 · 0 评论 -
Spark_SparkSQL 函数全集_基于 2.3.0
原文https://blog.csdn.net/liam08/article/details/79663018Summaryorg.apache.spark.sql.functions是一个Object,提供了约两百多个函数。大部分函数与Hive的差不多。除UDF函数,均可在spark-sql中直接使用。经过import org.apache.spark.sql.functions._ ,也可以用于Dataframe,Dataset。version2.3.0大部分支持..转载 2020-05-30 01:00:05 · 785 阅读 · 0 评论 -
SparkSQL_Spark2+ 的SparkSQL 性能调优
参考文章:1.Spark2+的sql 性能调优https://www.cnblogs.com/yyy-blog/p/10260988.html重要的要点在内存中缓存数据 性能优化相关参数 广播 分区数据的调控 文件与分区 文件格式1、在内存中缓存数据性能调优主要是将数据放入内存中操作,spark缓存注册表的方法版本 缓存 释放缓存 spark2.+ spark.catalog.cacheTable("tableName")缓存表 ...转载 2020-06-06 15:37:00 · 514 阅读 · 0 评论 -
Spark_Spark JOIN的种类 以及选择依据
参考文章 :1.Spark join种类(>3种)及join选择依据https://blog.csdn.net/rlnLo2pNEfx9c/article/details/106066081Spark 内部JOIN 大致分为以下3种实现方式 :1.BroadCastHashJoin2.ShuffledHashJoin3.SortMergeJoin1.BroadCastHashJoin 翻过源码之后你就会发现,Spark 1.6之前实...原创 2020-06-07 23:15:20 · 2894 阅读 · 0 评论 -
SparkSQL_SparkSQL_Hint 类似HIVE中的 hint
转载于:1.关于sparksql中的hinthttps://www.cnblogs.com/lestatzhang/p/10669547.html前言在Spark中,结构化查询可以通过指定查询提示(hint)来进行优化。查询提示,即向查询加入注释,告诉查询优化器提供如何优化逻辑计划, 这在查询优化器无法做出最佳决策时十分有用。Spark SQL支持COALESCE,REPARTITION以及BROADCAST提示。 在分析查询语句时,所有剩余的未解析的提示将从查询计划中被移除。.转载 2020-06-06 14:47:49 · 2434 阅读 · 0 评论 -
Spark on Yarn 提交任务过程
来源 :这篇文章将从源码的角度向大家展示Spark是如何提交任务到Yarn上执行的,如有错误,还请各位指出。(基于Spark 3.0.0)Spark On Yarn有两种模式:Yarn Client和Yarn Cluster在这篇文章中,我们这里先讲Yarn ClusterCluster模式主要流程如上图所示,下面结合源码对这个过程进行详细的分析。转载 2023-08-23 22:46:05 · 1515 阅读 · 0 评论 -
Spark_Spark 中 Stage, Job 划分依据 , Job, Stage, Task 基础知识
最近整理一下,之前没注意到的点。本文整理下 Job 与 Stage 的划分依据。参考文章:1.Spark的Job、Stage、Task是按何种规则产生的https://blog.csdn.net/gaopu12345/article/details/791566752.Spark中job、stage、task的划分+源码执行过程分析https://blog.csdn.net/hjw199089/article/details/77938688Job 划分依据 :...原创 2020-05-26 16:08:23 · 2682 阅读 · 0 评论 -
Spark_Spark中 Stage, Job 划分依据 , Job, Stage, Task 高阶知识
Task内部有一个成员变量:preferredLocations表明了这个Task的位置偏好,这个变量的值是根据Task的数据的位置得到的,可以是一个hostName或者execotorId。例如,如果Task的数据是在192.168.5.101和192.168.5.102这两台机器上,那么:forExecutor是一个HashMap,key为executorId,value是preferredLocations为这个executor的所有task的taskId。原创 2023-08-15 10:55:29 · 2280 阅读 · 0 评论 -
Spark_Spark 中的 transform 与 action 算子
Base on Spark 2.4.5参考文章 :1.官方文档http://spark.apache.org/docs/latest/rdd-programming-guide.html#transformations2.Spark transform 与action算子https://blog.csdn.net/chixushuchu/article/details/863072683.https://blog.csdn.net/qq_15300683/...原创 2020-05-25 22:32:28 · 1443 阅读 · 0 评论 -
Spark_Spark 中的宽窄依赖
原文地址:每次进步一点点——Spark 中的宽依赖和窄依赖https://blog.csdn.net/houmou/article/details/52531205Spark中RDD的高效与DAG图有着莫大的关系,在DAG调度中需要对计算过程划分stage,而划分依据就是RDD之间的依赖关系。针对不同的转换函数,RDD之间的依赖关系分类窄依赖(narrow dependency)和宽依赖(wide...转载 2018-06-28 15:54:51 · 702 阅读 · 0 评论 -
Spark_Spark比mapreduce快的原因
1.任务模型的优化(DAG图对比多阶段的MR)2.Spark支持在内存中缓存结果(RDD分布式弹性数据集, rdd.cache())比如一个复杂逻辑中 ,一个map-reduce产生的结果A,如果在后续的map-reduce过程中需要反复用到,spark可以把A缓存到内存中,这样后续的map-reduce过程就只需要从内存中读取A即可,也会加快速度3.资源模型不同。原创 2023-08-31 14:06:45 · 959 阅读 · 0 评论 -
Spark_SparkSQL / DataFrame 中 groupby 数据倾斜处理方法
数据倾斜,是一个有可能遇到的问题,Hive 中 groupby 数据倾斜, 已经有参数可以很好的支持了。Hive 参考文章https://blog.csdn.net/u010003835/article/details/105495135下面我们看下 SparkSQL 如何解决这种 GroupBy 类型的数据倾斜思路如下: 其实是和 Hive 的 调优参数,将作业拆分为2个参数一样的。 set hive.map.aggr=true; set hive.gro...原创 2020-05-30 01:14:18 · 1956 阅读 · 0 评论 -
Spark_Spark 中数据倾斜解决方案详解
原文地址:https://blog.csdn.net/qq_38534715/article/details/78707759 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。数据倾斜发生时的现象 绝大多...转载 2018-06-28 15:12:59 · 438 阅读 · 0 评论 -
SparkSQL_JOIN 倾斜优化_1.broadcastJOIN 2.broadcast 3.数据膨胀 详解
这是一个面试会遇到的问题,网上处理方法一大堆,但是讲清楚实现的并不多,也没什么例子。 这里对这个问题就具体的实现做个展示。首先,主流的做法有以下几种1.cashtable (更类似于 Hive 中 Map JOIN)2.broadcast 后,join 相当于自己实现 broadcast join3.数据膨胀,去前缀(操作复杂,不推荐)不知道为那么那么多人推崇这种做法?1.cashtable (更类似于 Hive 中 Map JOIN)首先,我比较推荐 cashtab...原创 2020-06-05 21:57:28 · 2510 阅读 · 0 评论 -
Spark_SparkSQL_broadcast join不生效问题
大数据计算通常会存在大表join小表的情况,如果相对较小的表允许广播到各个executor的话,可以使用广播方式mapjoin,这样还可以避免数据倾斜。看到auto以为spark执行join时候会根据表的大小自动切换广播join;转载 2023-09-06 10:24:39 · 297 阅读 · 0 评论 -
Spark_Spark中RDD介绍
今天面试被问到了这个问题,感觉自己回答的并不好。写一下这篇文章记录一下:https://www.jianshu.com/p/6411fff954cfSpark基本概念RDD:弹性分布式数据集 (Resilient Distributed DataSet)。Spark 是数据不动,代码动的架构!!!!RDD 的基本特性RDD 有三个基本特性 : 分区,不可变,并行操作分区 每一个 RDD 包含的数据被存储在系统的不同节点上。逻辑上我们可以将 RDD ...转载 2020-06-08 20:47:24 · 439 阅读 · 0 评论 -
Spark_RDD的容错机制_数据丢失恢复
我们都知道Spark是弹性分布式数据集,数据会存储在多台机器上,那么如何确保在分布式数据计算中,数据不丢失就是其中的关键的部分。本文主要讲解一下Spark中的容错机制。Spark 主要提供了2种数据。原创 2023-08-14 17:53:53 · 470 阅读 · 0 评论 -
Spark_Spark Spark优化 - RDD暂存
编写一个Spark 作业较为容易,但是编写一个高效的 spark 并不是一个容易的事。本篇主要从暂存的角度 讲解下 ,如何去优化 Spark Job. 参考文章: 【转】Spark性能优化指南——基础篇https://www.cnblogs.com/hark0623/p/5533803.html spark Streaming 存储级别定义Storage...原创 2018-10-22 13:18:44 · 466 阅读 · 0 评论 -
Spark_Spark中的几种Shuffle 以及工作原理, 含HashShuffle
一 概述 Shuffle就是对数据进行重组,由于分布式计算的特性和要求,在实现细节上更加繁琐和复杂 Hadoop Shuffle 在MapReduce框架,Shuffle是连接Map和Reduce之间的桥梁,Map阶段通过shuffle读取数据并输出到对应的Reduce;而Reduce阶段负责从Map端拉取数据并进行计算。在整个shuffle过程中,往往伴随着大量的磁盘和网络I/O。所以shuffle性能的高低也直接决定了整个程序的性能高低。Spark Shu...原创 2020-06-10 10:38:41 · 5095 阅读 · 0 评论 -
Spark_Spark_RDD等_Shuffle调优_相关参数
之前一直没有出相关的文章,这次整理一下。希望你看了这篇文章,作业的 task 不是200 个!!! 首先 Shuffle 相关的参数与理解整个Shuffle 流程是密不可分的,建议在看这篇文章,如果你对整个Shuffle 流程还没有一个直观的认识,可以看下这篇文章。首先 ,Spark Shuffle 调优只是 Spark 中的一部分。并不是说通过调优,Spark 任务就会如何的快。重要的是资源!!!Spark 的资源在于以下几个参数, 提交作业申请的 executor-num , e...原创 2020-06-09 15:47:37 · 436 阅读 · 0 评论 -
Spark_Spark 中Cache的作用 以及 具体的案例
今天模拟实现 broadcastJoin 的时候突然意识到了这个点,对 Spark 的 Cache 做个总结。问题 在Spark中有时候我们很多地方都会用到同一个RDD, 按照常规的做法的话,那么每个地方遇到Action操作的时候都会对同一个算子计算多次。这样会造成效率低下的问题 !!!!常见 transform , action 算子 =>https://blog.csdn.net/u010003835/article/details/10...原创 2020-06-13 01:09:11 · 6748 阅读 · 0 评论 -
Spark_Spark 中 checkpoint 的正确使用方式 以及 与 cache区别
1.Spark性能调优:checkPoint的使用https://blog.csdn.net/leen0304/article/details/78718346概述 checkpoint的意思就是建立检查点,类似于快照,例如在spark计算里面,计算流程DAG特别长,服务器需要将整个DAG计算完成得出结果,但是如果在这很长的计算流程中突然中间算出的数据丢失了,spark又会根据RDD的依赖关系从头到尾计算一遍,这样子就很费性能,当然我们可以将中间的计算结果通过cache或者persi...原创 2020-06-14 12:07:00 · 5051 阅读 · 0 评论 -
Spark_Spark分区相关的几个算子_partitionBy, coalesce, repartition
Base Spark 2.2.0首先,我们看下 coalesce 与 repartition 的主要区别:这两个算子主要区别,在于是否有shuffle 流程的发生。其中 coalesce 没有 shuffle 流程的发生,而 repartition 存在 shuffle。coalescerdd 的 coalesce实现/** * Return a new RDD that is reduced into `numPartitions` partitions. ...原创 2020-06-10 23:48:14 · 823 阅读 · 0 评论 -
Spark_Spark_ERROR关于spark.sql.autoBroadcastJoinThreshold设置
SparkSQL 相关文档 :http://spark.apache.org/docs/2.4.4/sql-performance-tuning.html 今天使用spark对一组大数据进行合并作join操作,一直都报下面的错:Exception in thread “broadcast-exchange-0” java.lang.OutOfMemoryError: Not enough memory to build and broadcast the table to all w...转载 2020-06-10 16:30:18 · 4378 阅读 · 0 评论