![](https://img-blog.csdnimg.cn/20210802114010392.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spark
文章平均质量分 51
spark学习记录
哈瑞辰
这个作者很懒,什么都没留下…
展开
-
35 个 Spark 常用算子总结
35个 Spark 常用算子总结,包括示例原创 2022-08-07 18:36:53 · 699 阅读 · 0 评论 -
Spark 任务提交流程(yarn模式)
一般提交任务到yarn有两种模式client模式、cluster模式区别在于driver运行在client还是cluster。原创 2022-07-17 18:54:45 · 1217 阅读 · 0 评论 -
Spark 优化(性能优化、解决数据倾斜)
性能优化、数据倾斜名称说明–num-executorsexecutor数量–executor-memoryexecutor内存(影响不大)–executor-cores每个executor的CPU core数–driver-memoryDriver内存举个栗子:资源一共:400G内存、100 core参考分配:50个executore、每个executor8G、2 core设置合理的并行度,官方推荐,task 数量应为 Spar...原创 2022-07-12 16:34:09 · 684 阅读 · 0 评论 -
SparkStreaming消费kafka数据时出现序列化问题 org.apache.kafka.common.serialization.StringDeserializer could not b
查了好多资料,说什么类加载机制什么的,但改了依然无效,经查阅Spark官方文档和kafka官方的文档后,得以解决,不得不说,官方文档还是厉害环境,pom文件如下:IntelliJ IDEA 2022.1.2 (Ultimate Edition)官方文档kafka 官方文档SparkStreaming 官方文档报错写法(后来也是可以用的)......原创 2022-06-22 09:40:51 · 1536 阅读 · 0 评论 -
Spark 数据倾斜解决方法
Spark 数据倾斜Spark 中的数据倾斜问题主要指 shuffle 过程中出现的数据倾斜问题,是由于不同的 key对应的数据量不同导致的不同 task 所处理的数据量不同的问题。例如,reduce 点一共要处理 100 万条数据,第一个和第二个 task 分别被分配到了 1 万条数据,计算 5 分钟内完成,第三个 task 分配到了 98 万数据,此时第三个 task 可能需要 10小时完成,这使得整个 Spark 作业需要 10 个小时才能运行完成,这就是数据倾斜所带来的后果。注意,要区原创 2021-08-10 16:28:31 · 355 阅读 · 0 评论 -
Spark 广播变量
广播变量实现原理广播变量用来高效分发较大的对象。向所有工作节点发送一个较大的只读值,以供一个或多个 Spark 操作使用。比如,如果你的应用需要向所有节点发送一个较大的只读查询表,广播变量用起来都很顺手。在多个并行操作中使用同一个变量,但是 Spark 会为每个任务分别发送。代码编程import org.apache.spark.broadcast.Broadcastimport org.apache.spark.{SparkConf, SparkContext}object Broadca原创 2021-08-10 15:47:47 · 215 阅读 · 0 评论 -
Spark 依赖关系
Spark 依赖关系RDD 窄依赖每一个父RDD 的Partition 最多被子RDD 的一个Partition 使用filter, map, flatMap, sample, union, intersection, mapPartitions, mapPartitionsWithIndex, zipRDD 宽依赖多个子RDD 的Partition 会依赖同一个父RDD 的PartitionsortBy, sortByKey, reduceByKey, join, leftOuterJoin,原创 2021-08-10 10:57:17 · 182 阅读 · 0 评论 -
Spark RDD 持久化 persist 或 cache
// 数据缓存rdd1.cache()// 可以更改存储级别rdd2.persist(StorageLevel.MEMORY_AND_DISK_2)原创 2021-08-10 09:24:38 · 128 阅读 · 0 评论 -
Spark 任务提交
bin/spark-submit \--class com.atguigu.spark.Analysis \--master yarn--deploy-mode cluster--num-executors 80 \--driver-memory 6g \--executor-memory 6g \--executor-cores 3 \/usr/opt/modules/spark/jar/spark.jar名称说明–num-executors配置 Executor原创 2021-08-10 09:14:49 · 92 阅读 · 0 评论 -
Spark reduceByKey 与 groupByKey 的区别
Spark reduceByKey 与 groupByKey 的区别从 shuffle 的角度:reduceByKey 和 groupByKey 都存在 shuffle 的操作,但是 reduceByKey 可以在 shuffle 前对分区内相同 key 的数据进行预聚合(combine)功能,这样会减少落盘的 数据量,而 groupByKey 只是进行分组,不存在数据量减少的问题,reduceByKey 性能比较 高。从 功能 的角度:reduceByKey 其实包含分组和聚合的功能。Gr原创 2021-08-10 08:35:23 · 145 阅读 · 0 评论 -
Spark 写数据到 hive 分区表
思路RDD => Dataset => create partition table => create temp table ( Dataset ) =>insert代码奉上import org.apache.spark.SparkConfimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.{Dataset, SaveMode, SparkSession}object Test01 { def m原创 2021-08-09 17:09:23 · 954 阅读 · 0 评论 -
Spark 之 MySQL数据的加载和存储
Spark 之 MySQL数据的加载和存储import java.util.Propertiesimport org.apache.spark.sql.{SaveMode, SparkSession}import org.apache.spark.SparkConfobject MysqlTest { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("MysqlTest")原创 2021-08-06 18:06:04 · 223 阅读 · 0 评论 -
spark 3.0.1高可用集群搭建(超详细)
部署前的准备:1.zookeeper集群搭建完毕2.hadoop高可用集群搭建完毕节点规划三台主机上均部署 Worker 服务。同时为了保证高可用,除了在 hadoop001 上部署主 Master 服务外,还在 hadoop002 和 hadoop003 上分别部署备用的 Master 服务,Master 服务由 Zookeeper 集群进行协调管理,如果主 Master 不可用,则备用 Master 会成为新的主 Master。一, 下载对应的spark压缩包官网下载地址**根据自己原创 2020-12-23 13:01:19 · 1473 阅读 · 0 评论 -
IDEA执行SparkSQL(hive)报错 java.net.UnknownHostException: ns1
原因由于hive存在于HA的hadoop上解决方法将hdfs-site.xml 和 hive-site.xml 拷贝至 resouorce 目录下和 target/classes目录下原创 2021-03-19 17:29:08 · 1040 阅读 · 1 评论 -
Spark集群搭建
下载文件官网链接(时常打不开)链接: https://pan.baidu.com/s/1VUc2ps_2jFF5N6qWse-S-A 提取码: 83ee解压,配置# 解压tar -zxvf 文件名配置 ./conf/spark-env.sh 和 slaves** cp spark-env.sh.template spark-env.sh**添加以下内容:export JAVA_HOME=/root/software/jdk1.8export SCALA_HOME=/root/soft原创 2020-08-27 17:06:28 · 154 阅读 · 0 评论 -
SparkSQL 之 DataFrame, DataSet, RDD 之间的转换及关系
RDD、DataFrame、DataSet 三者的关系➢ Spark1.0 => RDD➢ Spark1.3 => DataFrame➢ Spark1.6 => Dataset如果同样的数据都给到这三个数据结构,他们分别计算之后,都会给出相同的结果。不同是的他们的执行效率和执行方式。在后期的 Spark版本DataSet 有可能会逐步取代RDD和DataFrame 成为唯一的API 接口。三者的共性➢ RDD、DataFrame、DataSet 全都是 spark 平台下的原创 2021-01-22 17:59:37 · 2383 阅读 · 2 评论 -
SparkSQL 之 MySQL的连接,数据的写入
SparkSQL 连接 MySQLpackage sparkSQL.studyimport java.util.Propertiesimport org.apache.spark.SparkConfimport org.apache.spark.sql.SparkSessionobject JdbcConnect { def main(args: Array[String]): Unit = { val sparkConf = new SparkConf().setMaster原创 2021-01-23 12:07:55 · 179 阅读 · 0 评论