Spark
文章平均质量分 85
Spark系列
一个写湿的程序猿
练习两年半的程序猿。。。只因(ji)你太美!!!
初识不知文中意,再见已是文中人
展开
-
解决 Spark2.X 查询Hive分区表修改后的字段为null?
在 Spark 2.3 以后, Spark 增加参数, 设定 ORC 文件使用采用向量化 Reader, 但是会引申由于 Spark SQL 无法与 Hive SQL 采用同一 SerDe 从而对 Parquet/Hive 数据表产生处理上的不同, 因此需要限定如下参数从而让 Spark 使用 Hive 的SerDe.原创 2022-11-02 13:49:32 · 1280 阅读 · 1 评论 -
spark算子详细介绍(v、k-v、vv类型)
spark算子1. map算子(改变结构就用map)mapPartitions() 以分区为单位执行Map思考一个问题:map和mapPartitions的区别?3. mapPartitionsWithIndex()带分区号4. flatMap()扁平化5. glom()分区转换数组6. groupBy()分组filter() 过滤7. sample()采样思考一个问题:sample有啥用,抽奖吗?8. distinct()去重思考一个问题:如果不用该算子,你有什么办法实现数据去重?9. coalesce(原创 2022-03-10 14:25:08 · 3024 阅读 · 0 评论 -
Spark优化,高性能Range Join
Spark优化,高性能Range Join导读1 背景2 Range Join的定义3 方案设计3.1 基于Range构建的查询方案设计3.1.1 Range Index的创建3.1.2 Range数据的查找3.2 基于Point构建的查询方案设计3.2.1 Range Index的创建3.2.2 Range数据的查找4 性能对比4.1 时间复杂度对比4.2 优化后的SQL查询时间对比4.3 Spark DAG对比4.4 和业界主流的OLAP引擎对比5 实 现6 总 结导读Carmel是eBay内部基于原创 2022-03-02 11:19:38 · 453 阅读 · 0 评论 -
SparkStreaming实时计算pv和uv,注意事项以及生产问题
SparkStreaming实时计算pv和uv1、项目流程2、具体过程1)pv的计算2)uv的计算3)结果保存到数据库4)数据容错应用迁移或者程序升级5)保存offset到mysql6)日志实时统计pv,uv,结果按照date,hour,pv,uv来展示,按天统计,第二天重新统计,当然了实际还需要按照类型字段分类统计pv,uv,比如按照date,hour,pv,uv,type来展示。这里介绍最基本的pv,uv的展示。1、项目流程日志数据从flume采集过来,落到hdfs供其它离线业务使用,也会si原创 2022-02-24 17:50:19 · 1866 阅读 · 3 评论 -
Spark核心知识,参数配置,内存优化,常见问题大全
Spark基础篇1、Spark有哪两种算子?2、Spark有哪些聚合类的算子,我们应该尽量避免什么类型的算子?3、如何从Kafka中获取数据?4、RDD创建有哪几种方式?5、Spark并行度怎么设置比较合适?6、Spark如何处理不能被序列化的对象?7、collect功能是什么,其底层是怎么实现的?8、为什么Spark Application在没有获得足够的资源,job就开始执行了,可能会导致什么什么问题发生?9、map与flatMap的区别?10、Spark on Mesos中,什么是的粗粒度分配,什么是原创 2022-02-24 17:45:13 · 1932 阅读 · 0 评论 -
Spark Shuffle配置调优,生产shuffle参数调优
Spark的Shuffle配置调优1、Shuffle优化配置 -spark.shuffle.file.buffer2、Shuffle优化配置 -spark.reducer.maxSizeInFlight3、Shuffle优化配置 -spark.shuffle.io.maxRetries4、Shuffle优化配置 -spark.shuffle.io.retryWait5、Shuffle优化配置 -spark.shuffle.memoryFraction6、Shuffle优化配置 -spark.shuffle.原创 2022-02-24 17:32:23 · 1674 阅读 · 0 评论 -
spark程序开发调优,实际开发注意事项
spark程序开发调优1、程序开发调优 :避免创建重复的RDD2、程序开发调优 :尽可能复用同一个RDD3、程序开发调优 :对多次使用的RDD进行持久化4、程序开发调优 :尽量避免使用shuffle类算子5、程序开发调优 :使用map-side预聚合的shuffle操作6、程序开发调优 :使用高性能的算子7、程序开发调优 :广播大变量8、程序开发调优 :使用Kryo优化序列化性能9、程序开发调优 :分区Shuffle优化10、程序开发调优 :优化数据结构1、程序开发调优 :避免创建重复的RDD需要对名为原创 2022-02-24 17:31:36 · 424 阅读 · 0 评论 -
spark资源参数调优,各资源参数生产调优
spark资源调优1、资源运行情况2、资源运行中的集中情况3、运行资源优化配置3.1 运行资源优化配置 -num-executors3.2 运行资源优化配置 -executor-memory3.3 运行资源优化配置 -executor-cores3.4 运行资源优化配置 -driver-memory3.5 运行资源优化配置 -spark.default.parallelism3.6 运行资源优化配置 -spark.storage.memoryFraction3.7 运行资源优化配置 -spark.shuff原创 2022-02-24 17:30:46 · 934 阅读 · 0 评论 -
spark数据倾斜调优,各场景实践,方案优劣势
spark数据倾斜调优1、数据倾斜2、如何定位数据倾斜3、数据倾斜的几种典型情况4、数据倾斜的处理方法4.1 数据源中的数据分布不均匀,Spark需要频繁交互4.2 数据集中的不同Key由于分区方式,导致数据倾斜4.3 JOIN操作中,一个数据集中的数据分布不均匀,另一个数据集较小(主要)4.4 聚合操作中,数据集中的数据分布不均匀(主要)4.5 JOIN操作中,两个数据集都比较大,其中只有几个Key的数据分布不均匀4.6 JOIN操作中,两个数据集都比较大,有很多Key的数据分布不均匀4.7 数据集中少数原创 2022-02-24 17:29:38 · 1017 阅读 · 0 评论 -
Spark core组件介绍
Spark core的基本介绍1、RDD介绍2、RDD基本操作3、dependency 介绍4、Job介绍5、Stage介绍6、Shuffle介绍7、Task介绍原理总结:1、RDD介绍Spark的核心是建立在统一的弹性分布式数据集(Resilient Distributed Datasets,RDD)之上的,这使得Spark的各个组件可以无缝的进行集成,能够在同一个应用程序中完成大数据处理。RDD实际上是对一个分布式数据集的抽象,从物理存储上看,一个数据集可能被分为多个分区,各个分区都有可能存放在不原创 2022-02-14 14:41:50 · 986 阅读 · 0 评论 -
SparkCore-RDD的概述,特性,核心属性,执行原理介绍
文章目录RDD的概述、特性核心属性分区列表分区计算函数RDD之间的依赖关系分区器(可选)首选位置(可选)执行原理RDD的概述、特性RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的一种数据处理的模型。代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的元素可并行计算的集合。RDD 是 Spark 提供的最重要的抽象概念,它是一种有容错机制的特殊数据集合,可以分布在集群的结点上,以函数式操作集合的方式进行各种并行操作。本质上是一原创 2020-09-08 21:10:49 · 659 阅读 · 1 评论 -
SparkCore-核心组件,核心概念,提交流程
文章目录核心组件核心概念提交流程核心组件Spark框架可以大致分三个部分:第一部分: Driver + Executor ,任务执行和调度第二部分: Master + Worker ,Saprk自身的资源调度框架,只有Standalone模式下才有Master和Worker.第三部分: Cluster Manager ,集群管理中间件,协调任务的调度Application:Spark应用程序:Spark Application的概念 和 Hadoop MapReduce中的类似,指的是用原创 2020-09-07 19:48:06 · 1480 阅读 · 0 评论 -
Spark-概述,核心模块介绍,与Hadoop MR的差异
文章目录一、Spark 概述二、Spark 特点快速易用通用可融合性三、Spark 核心模块Spark CoreSpark SQLSpark StreamingSpark MLlibSpark GraphX四、Hadoop VS Spark 差异一、Spark 概述 Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。并且 Spark 目前已经成为 Apache 最活跃的开源项目, 有超过 1000 个活跃的贡献者。二、Spark 特点快速 与 Hadoop 的 MapRed原创 2020-09-06 22:02:25 · 755 阅读 · 0 评论 -
Spark的Lost executor错误问题
Spark的Lost executor错误问题问题一问题二问题一19/06/17 09:50:52 WARN cluster.YarnSchedulerBackend$YarnSchedulerEndpoint: Requesting driver to remove executor 2 for reason Container marked as failed: container_1560518528256_0014_01_000003 on host: hadoop-master. Exit s原创 2021-02-07 17:00:59 · 2542 阅读 · 1 评论 -
SparkUI中显示stage skipped的原因【源码分析】
SparkUI中显示stage skipped的原因【源码分析】Spark Job的ResultStage的最后一个Task成功执行之后,DAGScheduler.handleTaskCompletion方法会发送SparkListenerJobEnd事件,源码如下:JobProgressListener.onJobEnd方法负责处理SparkListenerJobEnd事件,代码如下:StageInfo.submissionTime在Stage被分解成TaskSet,并且TaskSet被提交到TaskSe原创 2021-02-07 17:00:08 · 3159 阅读 · 0 评论 -
Scala混用Java的集合类调用scala的foreach遍历问题
Scala混用Java的集合类调用scala的foreach遍历问题问题描述原因分析解决方案问题描述[ERROR] /Users/jack/book/lightsword/src/main/scala/com/springboot/in/action/service/LightSwordUserDetailService.scala:31: error: value foreach is not a member of java.util.List[com.springboot.in.action.en原创 2021-02-07 17:00:34 · 397 阅读 · 0 评论 -
SparkSQL动态分区报错
SparkSQL动态分区报错报错信息如下:ERROR yarn.ApplicationMaster: User class threw exception: org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: Number of dynamic partitions created is 3464, which is more than 1000. To solve this原创 2021-02-07 17:01:26 · 3240 阅读 · 0 评论 -
HDFS 的并发写问题
hdfs的并发写问题hdfs的并发写问题结论hdfs的并发写问题总所周知,hadoop的hdfs组件有一个缺点就是不支持并发写入,不支持文件随即修改.有以下两种情况:两个客户端同时向hdfs上传不同名文件:全都上传成功.两个客户端同时向hdfs上传同名文件:两个文件全部上传失败.因此hdfs不能并发写指的是不能同时上传同位置同名文件.额外一种情况两个同名文件,一个文件成功上传,再用另一个客户端上传同名文件,会提示 File exists.结论hdfs的不能并发写指的是:同位原创 2021-02-07 16:59:11 · 2616 阅读 · 1 评论 -
CDH6.3.2 在线安装 hadoop Lzo压缩
CDH6.3.2 在线安装 hadoop Lzo压缩1 查看我的hadoop支撑的压缩方式2 LzoCodec和LzopCodec区别3 在线Parcel安装Lzo3.1 下载地址:修改6.x.x为对应版本3.2 下载3.3 为HDFS添加压缩编码解码器3.4 YARN配置自动加载GPLEXTRAS下的包① 找到自己刚才安装的GPLEXTRAS目录②配yarn② 添加/opt/cloudera/parcels/GPLEXTRAS/lib/hadoop/lib/*③ 更新配置重启服务1 查看我的hado原创 2021-02-07 16:59:44 · 863 阅读 · 1 评论