![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SPARK
文章平均质量分 64
吃鱼的羊
这个作者很懒,什么都没留下…
展开
-
SparkSQL中的三种Join及其具体实现(broadcast join、shuffle hash join和sort merge join)
https://blog.csdn.net/wlk_328909605/article/details/829335521.小表对大表(broadcast join)将小表的数据分发到每个节点上,供大表使用。executor存储小表的全部数据,一定程度上牺牲了空间,换取shuffle操作大量的耗时,这在SparkSQL中称作Broadcast JoinBroadcast Join的条件有以下几个:*被广播的表需要小于 spark.sql.autoBroadcastJoinThresho.转载 2021-02-04 22:34:25 · 3412 阅读 · 1 评论 -
join算法分析
https://w.cnblogs.com/---wunian/p/9227586.htmljoin算法分析对于单条语句,explain看下key,加个索引多个条件,加复合索引where a = ? order by b 加(a,b)的复合索引上面都是比较基本的,这篇我们分析一些复杂的情况——join的算法如下两张表做join10w 100wtb R tb S r1 s1 r2 ..转载 2021-02-04 22:33:13 · 401 阅读 · 0 评论 -
Spark 大/小文件读取优化
https://blog.csdn.net/allwefantasy/article/details/106010295问题描述使用Spark写复杂SQL时,我们经常会遇到两个尴尬的情况: 表里的单个文件都很大,而且因为record比较小,所以单个文件的record数量巨大。 表里每个分区都有成百上千个小文件,单个文件可能只有几条记录 对于第一种情况,会导致我们没办法充分利用我们已有的核,所以速度很慢。对于第二种情况,则会大量浪费调度时间。比如你有100万个文件,假设只有10转载 2021-02-04 22:30:46 · 3853 阅读 · 0 评论 -
MapReduce多进程和spark多线程
https://blog.csdn.net/u010916338/article/details/808517721,首先要区分分布式概念,分布式指的是将一个任务切分成多块分到多台机器运行.2,进程可以理解成该服务器分到的那一块任务(MapReduce每分到一个任务会重启一个进程,而spark的所有任务都只在一个进程中,每来一个任务启动一个线程.)3,线程可以理解成在进程的基础之上又细分的更小的任务4,在任务级别(特指Spark任务和MapReduce任务)上却采用了不同的并行机制:Hado.转载 2021-02-04 22:29:49 · 541 阅读 · 0 评论 -
调研公司内部Spark集群能承受多少并发量
https://blog.csdn.net/qq_29726869/article/details/82757381任务描述测试公司内部Spark集群能承受多少并发量Spark集群分配参数节点数:5cpu:20核内存:40g硬盘:500g每台节点分配参数cpu:4核内存:8g硬盘:100g测试案例(通过spark集群自带WEBUI进行监控任务提交运行状态)1.编写测试程序1,无限循环通过Spark restful API 提交任务到...转载 2021-01-30 21:00:23 · 414 阅读 · 0 评论 -
Spark中的RDD持久化
https://wjrsbu.smartapps.cn/zhihu/article?id=61555283&isShared=1&hostname=baiduboxapp&_swebfr=1本文会从以下几个方面来讲解以下Spark中的RDD持久化:1、为什么要进行RDD持久化2、RDD持久化原理3、RDD持久化的使用场景4、怎样使用RDD持久化5、通过cache()和persist()源码讲解RDD持久化策略级别6、RDD持久化策略选择1、为什么.转载 2021-01-28 21:46:33 · 988 阅读 · 0 评论 -
Spark Shuffle详解
https://www.cnblogs.com/shuzhiwei/p/11077299.html--Spark技术内幕: 如何解决Shuffle Write一定要落盘的问题?https://blog.csdn.net/qq_34901049/article/details/103792271Shuffle,翻译成中文就是洗牌。之所以需要Shuffle,还是因为具有某种共同特征的一类数据需要最终汇聚(aggregate)到一个计算节点上进行计算。这些数据分布在各个存储节点上并且由不同节点的计算单转载 2021-01-28 21:42:12 · 1277 阅读 · 0 评论 -
Spark迭代运算
https://wjrsbu.smartapps.cn/zhihu/answer?id=1429890077&isShared=1&hostname=baiduboxapp&_swebfr=1Spark迭代运算,采用内存存储中间计算结果,减少了迭代运算的磁盘IO,并通过并行计算DAG图的优化,减少不同任务之间的依赖,降低延迟等待时间。要搞懂Spark迭代运算,着重去搞清楚几个概念:RDD、DAG(有向无环图)、Shuffle机制。RDD是Spark的灵魂,一个RDD代表一转载 2021-01-28 21:37:06 · 1533 阅读 · 0 评论 -
Hadoop的分布式缓存
https://www.cnblogs.com/twodoge/p/9762104.htmlHadoop的分布式缓存1.什么时Hadoop的分布式缓存答:在执行MapReduce时,可能Mapper之间需要共享一些信息,如果信息量不大,可以将其从HDFS中加载到内存中,这就是Hadoop分布式缓存机制。2.如何使用缓存机制答:在main方法中加载共享文件的HDFS路径,路径可以是目录也可以是文件。可以在路径末尾阶段追加 '#' +别名,在map阶段可以使用该别名。 这...转载 2021-01-27 21:50:29 · 331 阅读 · 0 评论 -
sparksql内部优化过程和执行计划
https://mp.weixin.qq.com/s?__biz=MzI3MjY2MTYzMA==&mid=2247484129&idx=1&sn=28c104de4f036fc327b07f3b333ebef5&chksm=eb2e6ff0dc59e6e6057fbe421b7a96ab720d875a3937b505771cf1fe4bfac24d91dcda3cb2dc&token=2032349695&lang=zh_CN&scene=21#w转载 2021-01-18 21:36:47 · 929 阅读 · 0 评论 -
SparkSQL的执行计划详解
https://www.cnblogs.com/lyr999736/p/10204619.htmlhttp://www.jasongj.com/spark/rbo/https://blog.csdn.net/zyzzxycj/article/details/82704713https://blog.csdn.net/purisuit_knowledge/article/details/90703442一:首先将我们从文本中读取的数据映射到表也就是视图eg: $>cat b.转载 2021-01-15 15:21:51 · 819 阅读 · 0 评论 -
[Spark SQL] 主要执行流程
https://www.jianshu.com/p/4cc6797fb9cehttps://www.cnblogs.com/ulysses-you/p/9762133.htmlhttp://wp.wjcodes.com/archives/202预备知识先介绍在Spark SQL中两个非常重要的数据结构:Tree和Rule。SparkSql的第一件事就是把SQLText解析成语法树,这棵树包含了很多节点对象,节点可以有特定的数据类型,同时可以有0个或者多个子节点,节点在SparkSQL中.转载 2021-01-15 15:07:09 · 475 阅读 · 0 评论 -
来看看Spark和Flink各自的优劣和主要区别
http://m.elecfans.com/article/885471.html2018和2019年是大数据领域蓬勃发展的两年,自2019年伊始,实时流计算技术开始步入普通开发者视线,各大公司都在不遗余力地试用新的流计算框架,实时流计算引擎Spark Streaming、Kafka Streaming、Beam和Flink持续火爆。最近Spark社区,来自Databricks、NVIDIA、Google以及阿里巴巴的工程师们正在为Apache Spark 3.0添加原生的GPU调度支持,参考(SP转载 2021-01-10 13:50:50 · 12252 阅读 · 2 评论 -
Spark和Flink的区别?
https://www.jianshu.com/p/a70033a78fdb1,技术理念不同Spark的技术理念是使用微批来模拟流的计算,基于Micro-batch,数据流以时间为单位被切分为一个个批次,通过分布式数据集RDD进行批量处理,是一种伪实时。而Flink是基于事件驱动的,它是一个面向流的处理框架, Flink基于每个事件一行一行地流式处理,是真正的流式计算. 另外他也可以基于流来模拟批进行计算实现批处理,所以他在技术上具有更好的扩展性,未来可能会成为一个统一的大数据处理引擎2,吞吐转载 2021-01-10 12:18:57 · 840 阅读 · 0 评论 -
干货 | Spark Streaming 和 Flink 详细对比
https://mp.weixin.qq.com/s/Fb1cW0oN7xYeb1oI2ixtgQ以下文章来源于美图数据技术团队,作者浪尖美图数据技术团队美图拥有海量的用户数据,如何将美图的数据最大化的利用在各个场景,更大范围的发挥美图在数据上的优势,并挖掘数据无限的价值是我们的使命。我们会在这里推送技术干货文章、技术活动的通知、团队的介绍以及招聘信息。欢迎关注~~本文由美图数据技术团队授权转载,原文 https://mp.weixin.qq.com/s/jllAegJMY...转载 2021-01-10 12:12:01 · 616 阅读 · 0 评论 -
第一个spark应用开发详解(java版)
https://blog.csdn.net/boling_cavalry/article/details/86776746WordCount是大数据学习最好的入门demo,今天就一起开发java版本的WordCount,然后提交到Spark2.3.2环境运行;版本信息操作系统:CentOS7; JDK:1.8.0_191; Spark:2.3.3; Scala:2.11.12; Hadoop:2.7.7; Maven:3.5.0;关于hadoop环境本次实战用到了hadoo...转载 2021-01-10 11:27:33 · 254 阅读 · 0 评论 -
实战|使用Spark结构化流写入Hudi
https://zhuanlan.zhihu.com/p/133316667欢迎关注微信公众号:ApacheHudi1. 项目背景传统数仓的组织架构是针对离线数据的OLAP(联机事务分析)需求设计的,常用的导入数据方式为采用sqoop或spark定时作业逐批将业务库数据导入数仓。随着数据分析对实时性要求的不断提高,按小时、甚至分钟级的数据同步越来越普遍。由此展开了基于spark/flink流处理机制的(准)实时同步系统的开发。然而实时同步数仓从一开始就面临如下几个挑战:小文件问题。不论是转载 2020-06-23 19:14:09 · 3494 阅读 · 0 评论 -
Apache Hudi:统一批和近实时分析的存储和服务
https://blog.csdn.net/wypblog/article/details/104890482?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecas转载 2020-06-23 18:12:40 · 241 阅读 · 0 评论 -
Kudu、Hudi和Delta Lake的比较
https://www.cnblogs.com/kehanc/p/12153409.html目录Kudu、Hudi和Delta Lake的比较 存储机制 读数据 更新数据 其他 如何选择合适的存储方案 Kudu、Hudi和Delta Lake的比较kudu、hudi和delta lake是目前比较热门的支持行级别数据增删改查的存储方案,本文对三者之间进行了比较。存储机制kudukudu的存储机制和hudi的写优化方式有些相似。kudu的...转载 2020-06-22 19:22:31 · 2832 阅读 · 0 评论 -
Apache+Hudi入门指南(含代码示例)
https://blog.csdn.net/h335146502/article/details/104485494/1. 什么是Apache Hudi一个spark 库大数据更新解决方案,大数据中没有传统意义的更新,只有append和重写(Hudi就是采用重写方式)使用Hudi的优点使用Bloomfilter机制+二次查找,可快速确定记录是更新还是新增更新范围小,是文件级别,不是表级别文件大小与hdfs的Blocksize保持一致数据文件使用parquet格式,充分利用列存的优势(dr转载 2020-06-22 19:02:33 · 1824 阅读 · 1 评论 -
Hudi 的工作原理
https://docs.amazonaws.cn/emr/latest/ReleaseGuide/emr-hudi-how-it-works.html当 Hudi 与 Amazon EMR 结合使用时,您可以使用 Spark 数据源 API 或 Hudi DeltaStreamer 实用程序将数据写入数据集中。Hudi 将数据集组织到basepath下类似于传统 Hive 表的分区目录结构中。如何将数据布局为这些目录中的文件的具体细节取决于您选择的数据集类型。您可以选择“写入时复制 (CoW)”或..转载 2020-06-22 18:38:25 · 2743 阅读 · 0 评论 -
Apache Hudi 设计与架构最强解读
https://zhuanlan.zhihu.com/p/131210053本文将介绍Apache Hudi的基本概念、设计以及总体基础架构。1.简介Apache Hudi(简称:Hudi)使得您能在hadoop兼容的存储之上存储大量数据,同时它还提供两种原语,使得除了经典的批处理之外,还可以在数据湖上进行流处理。这两种原语分别是:Update/Delete记录:Hudi使用细粒度的文件/记录级别索引来支持Update/Delete记录,同时还提供写操作的事务保证。查询会处理最后一个提交的快转载 2020-06-22 17:29:28 · 1128 阅读 · 1 评论 -
Apache Hudi简介
https://blog.csdn.net/qq_19248065/article/details/1034811231、Hudi简介Hudi是Hadoop Updates and Incrementals的缩写,用于管理HDFS上的大型分析数据集存储,主要目的是高效的减少入库延时。Hudi是一个开源Spark三方库,支持在Hadoop上执行upserts/insert/delete操作。Hudi数据集通过自定义的InputFormat与当前的Hadoop生态系统(Hive、parquet、s转载 2020-06-22 17:28:21 · 475 阅读 · 0 评论 -
SpringBoot - 配置文件application.yml使用详解(附:Profile多环境配置)
https://www.hangge.com/blog/cache/detail_2459.html1,基本介绍(1)YAML是JSON的超集,简洁而强大,是一种专门用来书写配置文件的语言,可以替代application.properties。(2)在创建一个SpringBoot项目时,引入的spring-boot-starter-web依赖间接地引入了snakeya...转载 2020-02-29 18:11:18 · 20484 阅读 · 0 评论 -
从0开始使用Docker搭建Spark集群
https://www.jianshu.com/p/ee210190224f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation最近在学习大数据技术,朋友叫我直接学习Spark,英雄不问出处,菜鸟不问对错,于是我就开始了Spark学习。为什...转载 2019-06-18 10:26:11 · 2767 阅读 · 0 评论 -
从Dataflow模型的角度看待Spark 和 Flink的异同
https://www.zhihu.com/question/30151872Dataflow模型的诞生Dataflow模型(或者说Beam模型)旨在建立一套准确可靠的关于流处理的解决方案。在Dataflow模型提出以前,流处理常被认为是一种不可靠但低延迟的处理方式,需要配合类似于MapReduce的准确但高延迟的批处理框架才能得到一个可靠的结果,这就是著名的Lambda架构。这种架构给应...转载 2019-07-16 17:41:46 · 1004 阅读 · 0 评论 -
流式大数据处理的三种框架:Storm,Spark和Flink
https://blog.csdn.net/cm_chenmin/article/details/53072498storm、spark streaming、flink都是开源的分布式系统,具有低延迟、可扩展和容错性诸多优点,允许你在运行数据流代码时,将任务分配到一系列具有容错能力的计算机上并行运行,都提供了简单的API来简化底层实现的复杂程度。Apache Storm在Storm中,...转载 2019-07-17 15:16:31 · 404 阅读 · 0 评论 -
Spark Debug
https://blog.csdn.net/weixin_40901056/article/details/90546701一、 报错:大数据量没问题,小数据量报错java.io.EOFException: Premature EOF: no length prefix available at org.apache.hadoop.hdfs.protocolPB.PBHelpe...转载 2019-07-31 14:13:36 · 623 阅读 · 0 评论 -
Spark调优的策略
https://blog.csdn.net/fanyao4144/article/details/787599311. RDD的持久化 cahce() persist() checkpoint() 2. 避免创建重复的RDD 3.尽可能复用同一个RDD 类似于多个RDD的数据有重叠或者包含的情况,应该尽量复用一个RDD,以尽可能减少RDD的数量,从而减少算子计算次数 ...转载 2018-08-29 15:53:16 · 230 阅读 · 0 评论 -
Spark任务中Stage划分算法及Task任务本地性算法原理
http://www.aboutyun.com/thread-19729-1-1.html 问题导读: 1、Spark Job Stage划分算法有哪些? 2、Task最佳计算位置算法如何理解? 3、Task任务本地算法运用场景有哪些?一、Stage划分算法 由于Spark的算子构建一般都是链式的,这就涉及了要如何进行这些链式计算,Spark的策...转载 2018-07-17 14:10:44 · 2085 阅读 · 1 评论 -
SparkSQL自定义Hint优化器解决热点数据导致JOIN数据倾斜问题
https://www.jianshu.com/p/ea52f3801d7b场景有时我们通过sparkSQL来分析数据,当使用Join操作时,最让人头疼的莫过于数据倾斜了,如果你是大表关联小表的情况,那情况还不是很糟糕,可以使用MAPJOIN来破解一下,spark使用spark.sql.autoBroadcastJoinThreshold参数来自动开启MAPJOIN; BUT,如果两张表数...转载 2019-05-29 16:06:38 · 680 阅读 · 0 评论 -
shuffle过程
https://blog.csdn.net/qq_25460227/article/details/81322135转载 2019-01-09 16:58:01 · 167 阅读 · 0 评论 -
使用Intellij-idea调试Spark-Application
https://blog.csdn.net/vfgbv/article/details/51952815https://blog.csdn.net/sddyljsx/article/details/81055313https://blog.csdn.net/tmzk_hzau/article/details/52181043https://blog.csdn.net/sinat_275...转载 2018-07-27 10:19:53 · 2984 阅读 · 0 评论 -
Spark Shell简单使用
Spark的shell作为一个强大的交互式数据分析工具,提供了一个简单的方式学习API。它可以使用Scala(在Java虚拟机上运行现有的Java库的一个很好方式)或Python。在Spark目录里使用下面的方式开始运行: ./bin/spark-shell在Spark Shell中,有一个专有的SparkContext已经为您创建好了,变量名叫做sc。自己创建的SparkContex...转载 2018-07-27 09:50:02 · 2661 阅读 · 0 评论 -
分别使用Hadoop和Spark实现二次排序
https://www.cnblogs.com/purstar/p/6286411.html零、序(注意本部分与标题无太大关系,可直接翻到第一部分) 既然没用为啥会有序?原因不想再开一篇文章,来抒发点什么感想或者计划了,就在这里写点好了: 前些日子买了几本书,打算学习和研究大数据方面的知识,一直因为实习、考试、毕业设计等问题搞得没有时间,现在进入了寒假,可以安心的学点有用的知识了。...转载 2018-07-25 16:39:52 · 235 阅读 · 0 评论 -
SeqLike.sortWith(f) 二次排序
问题描述 二次排序就是key之间有序,而且每个Key对应的value也是有序的;也就是对MapReduce的输出(KEY, Value(v1,v2,v3,......,vn))中的Value(v1,v2,v3,......,vn)值进行排序(升序或者降序),使得Value(s1,s2,s3,......,sn),si ∈ (v1,v2,v3,......,vn)且s1 < s2 <...转载 2018-07-25 14:49:20 · 639 阅读 · 0 评论 -
Spark基础排序+二次排序(java+scala)
1.基础排序算法 2.二次排序算法 3.更高级别排序 4.排序算法内幕 1.基础排序算法sc.textFile("/data/putfile.txt").flatMap(_.split(" ")).map(word=>(word,1)).reduceByKey(_+_,1).map(pair=>(pair._2,pair._1)).sortByKey(false)....转载 2018-07-23 15:08:27 · 755 阅读 · 0 评论 -
Spark executor中task的数量与最大并发数
关于executor和task的概念可以参考官方文档本文使用的源码是spark 2.0.0版本Task的数量根据类DAGScheduler中的submitMissingTasks方法可以知道,在stage中会为每个需要计算的partition生成一个task,换句话说也就是每个task处理一个partition。//From submitMissingTasks...... ...转载 2018-07-17 13:57:39 · 7433 阅读 · 0 评论 -
spark job, stage ,task介绍。
1. spark 如何执行程序?首先看下spark 的部署图: 节点类型有:1. master 节点: 常驻master进程,负责管理全部worker节点。2. worker 节点: 常驻worker进程,负责管理executor 并与master节点通信。dirvier:官方解释为: The process running the main() function o...转载 2018-07-17 13:29:05 · 2966 阅读 · 1 评论 -
高并发解决方案--负载均衡
1,什么是负载均衡?当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能。那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理。那么在这个过程中,调度者如何合理分配任务,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡问题。下面详细介绍负载均...转载 2018-06-26 11:04:42 · 184 阅读 · 0 评论