CN107066612A - 一种基于SparkJoin操作的自适应数据倾斜调整方法 - Google Patents

一种基于SparkJoin操作的自适应数据倾斜调整方法 Download PDF

Info

Publication number
CN107066612A
CN107066612A CN201710312035.2A CN201710312035A CN107066612A CN 107066612 A CN107066612 A CN 107066612A CN 201710312035 A CN201710312035 A CN 201710312035A CN 107066612 A CN107066612 A CN 107066612A
Authority
CN
China
Prior art keywords
data
join
key
rdd
uneven
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710312035.2A
Other languages
English (en)
Inventor
曹芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710312035.2A priority Critical patent/CN107066612A/zh
Publication of CN107066612A publication Critical patent/CN107066612A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于SparkJoin操作的自适应数据倾斜调整方法,该方法包括:确定join操作的对象;当join操作的对象为大表和小表时,采用Broadcast变量与map类算子实现join操作;当join操作的对象为均匀表和不均匀表时,若不均匀表中少数key对应的数据量过大,采样数据量过大的少数key,分拆join操作;当join操作的对象为均匀表和不均匀表时,若不均匀表中大量key对应的数据量过大,通过添加随机前缀和扩容RDD进行join操作。

Description

一种基于SparkJoin操作的自适应数据倾斜调整方法
技术领域
本发明涉及大数据处理技术领域,特别是涉及一种基于SparkJoin操作的自适应数据倾斜调整方法。
背景技术
目前,数据倾斜是Spark大数据计算中最棘手的问题之一,发生数据倾斜时Spark作业的性能会比期望差很多。一般说shuffle是产生数据倾斜的主要原因,在进行shuffle的时候,必须将各个节点上相同的key拉取到某个节点上的一个task来进行处理。进行Join操作时尤其容易发生数据倾斜,因为正常的join操作涉及到shuffle,在按照key进行join操作的过程中,如果某个key对应的数据量特别大的话,就会发生数据倾斜。如大部分key对应10条数据,但是个别key却对应了100万条数据,那么大部分task可能就只会分配到10条数据,假设1秒钟就运行完了;但是个别task可能分配到了100万数据,可能要运行一两个小时。整个Spark作业的运行进度是由运行时间最长的那个task决定的,因此出现数据倾斜的时候,Spark作业看起来会运行得非常缓慢,甚至可能因为某个task处理的数据量过大导致内存溢出。
为了保证Spark作业的性能,需要进行数据倾斜调优,即使用各种技术方案解决不同类型的数据倾斜问题。然而现有的技术方案大多是补救类措施,即在Spark任务发生数据倾斜之后,再对数据进行分析,进而调整Spark参数或尝试其他不同的解决方案。这样的调优方法能在一定程度上缓解数据倾斜问题,然而每次发生数据倾斜时都需要工作人员对数据重新分析并手动调整任务执行方案,不具有自适应性,效率较低。
Spark是近年来发展较快的分布式并行数据处理框架,Spark SQL提供了对结构化数据的处理。Join是Spark SQL中的一项重要操作,用于处理多表连接。在Spark集群中直接执行join操作时需要将各个节点上相同的key拉取到某个节点上的一个task来进行处理,此时如果某个key对应的数据量特别大的话,就会导致各个task数据分区不均匀从而发生数据倾斜。数据倾斜会造成严重的后果,一方面spark中一个stage的执行时间受限于最后那个执行完的task,因此运行缓慢的任务会拖累整个程序的运行速度;另一方面,过多的数据在同一个task中执行,将会把executor撑爆,造成内存溢出,程序终止运行。Join操作中产生数据倾斜问题的主要原因是数据分布不均匀,目前Spark框架中对数据的预分析机制尚不完善,出现数据倾斜问题时需要工作人员手工进行分析调整,影响工作效率。
发明内容
本发明的目的是提供一种基于SparkJoin操作的自适应数据倾斜调整方法,以实现提高调整效率。
为解决上述技术问题,本发明提供一种基于SparkJoin操作的自适应数据倾斜调整方法,该方法包括:
确定join操作的对象;
当join操作的对象为大表和小表时,采用Broadcast变量与map类算子实现join操作;
当join操作的对象为均匀表和不均匀表时,若不均匀表中少数key对应的数据量过大,采样数据量过大的少数key,分拆join操作;
当join操作的对象为均匀表和不均匀表时,若不均匀表中大量key对应的数据量过大,通过添加随机前缀和扩容RDD进行join操作。
优选的,采用Broadcast变量与map类算子实现join操作,包括:
将小表中的数据保存到Driver端内存中,创建Broadcast变量;对大表执行map类算子操作;将大表和小表进行join操作。
优选的,所述将大表和小表进行join操作,包括:
在map类算子的函数内,从Broadcast变量中获取小表的全部数据,将小表的数据与大表的数据按照连接key进行比对,若连接key相同,将小表和大表进行连接。
优选的,所述采样数据量过大的少数key,分拆join操作,包括:
采样数据量过大的少数key;对不均匀表的数据进行拆分,拆分为含有少数key的RDD数据以及剩余的RDD数据;对均匀表中的数据进行拆分,拆分为含有少数key的RDD数据以及剩余的RDD数据;将分别从均匀表和不均匀表中拆分出来的含有少数key的RDD数据进行join操作,得到第一操作结果,将分别从均匀表和不均匀表中拆分出来的剩余的RDD数据进行join操作,得到第二操作结果。
优选的,所述通过添加随机前缀和扩容RDD进行join操作包括:
对不均匀表中的数据添加随机前缀;对均匀表中的数据进行扩容,扩容后添加随机前缀;将不均匀表和均匀表进行join操作。
优选的,所述方法还包括:
将第一操作结果和第二操作结果采用union算子进行合并。
优选的,所述对均匀表中的数据进行扩容,包括:对均匀表中的RDD数据进行扩容,将每条数据都扩容成n条数据,n为正整数且n大于1。
本发明所提供的一种基于SparkJoin操作的自适应数据倾斜调整方法,确定join操作的对象;当join操作的对象为大表和小表时,采用Broadcast变量与map类算子实现join操作;当join操作的对象为均匀表和不均匀表时,若不均匀表中少数key对应的数据量过大,采样数据量过大的少数key,分拆join操作;当join操作的对象为均匀表和不均匀表时,若不均匀表中大量key对应的数据量过大,通过添加随机前缀和扩容RDD进行join操作。可见,在进行Join操作即SparkJoin操作之前,增加数据分析与预处理步骤,将进行join操作的对象分为了三类,对不同类型的数据自适应地采取不同的处理方法,从而达到减轻甚至解除数据倾斜问题的目的,且无需人员手工分析调整,提高调整效率,同时提高Join操作的执行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明所提供的一种基于SparkJoin操作的自适应数据倾斜调整方法的流程图;
图2为Spark Join数据倾斜问题整体解决方案示意图;
图3为小表Join大表时的处理流程示意图;
图4为含少数数据量过大key的不均匀表Join均匀表时的处理流程示意图;
图5为含大量数据量过大key的不均匀表Join均匀表时的处理流程示意图。
具体实施方式
本发明的核心是提供一种基于SparkJoin操作的自适应数据倾斜调整方法,以实现提高调整效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
RDD(Resilient Distributed Datasets,弹性分布式数据集)是分布式内存的一个抽象概念,RDD提供了一种高度受限的共享内存模型,即RDD是只读的记录分区的集合,只能通过在其他RDD执行确定的转换操作例如由map、join和group by而创建,然而这些限制使得实现容错的开销很低。RDD是Spark的一个对象,它本身运行于内存中,如读文件是一个RDD,对文件计算是一个RDD,结果集也是一个RDD,不同的分片、数据之间的依赖、key-value类型的map数据都可以视为RDD。
请参考图1,图1为本发明所提供的一种基于SparkJoin操作的自适应数据倾斜调整方法的流程图,该方法包括:
S11:确定join操作的对象;
S12:当join操作的对象为大表和小表时,采用Broadcast变量与map类算子实现join操作;
S13:当join操作的对象为均匀表和不均匀表时,若不均匀表中少数key对应的数据量过大,采样数据量过大的少数key,分拆join操作;
S14:当join操作的对象为均匀表和不均匀表时,若不均匀表中大量key对应的数据量过大,通过添加随机前缀和扩容RDD进行join操作。
可见,在进行Join操作即Spark Join操作之前,增加数据分析与预处理步骤,将进行join操作的对象分为了三类,对不同类型的数据自适应地采取不同的处理方法,从而达到减轻甚至解除数据倾斜问题的目的,且无需人员手工分析调整,提高调整效率,同时提高Join操作的执行效率。
基于上述方法,具体的,数据量过大的key个数少于10时,认为不均匀表中少数key对应的数据量过大。数据量无法放入内存,就表示数据量过大。数据量过大的key个数大于等于10时,认为不均匀表中大量key对应的数据量过大。
进一步的,步骤S12中,采用Broadcast变量与map类算子实现join操作的过程具体为:将小表中的数据保存到Driver端内存中,创建Broadcast变量;对大表执行map类算子操作;将大表和小表进行join操作。
其中,将大表和小表进行join操作的过程具体为:在map类算子的函数内,从Broadcast变量中获取小表的全部数据,将小表的数据与大表的数据按照连接key进行比对,若连接key相同,将小表和大表进行连接。
进一步的,步骤S13中,采样数据量过大的少数key,分拆join操作的过程具体为:采样数据量过大的少数key;对不均匀表的数据进行拆分,拆分为含有少数key的RDD数据以及剩余的RDD数据;对均匀表中的数据进行拆分,拆分为含有少数key的RDD数据以及剩余的RDD数据;将分别从均匀表和不均匀表中拆分出来的含有少数key的RDD数据进行join操作,得到第一操作结果,将分别从均匀表和不均匀表中拆分出来的剩余的RDD数据进行join操作,得到第二操作结果。
其中,将分别从均匀表和不均匀表中拆分出来的含有少数key的RDD数据进行join操作,得到第一操作结果,将分别从均匀表和不均匀表中拆分出来的剩余的RDD数据进行join操作,得到第二操作结果之后,还包括:将第一操作结果和第二操作结果采用union算子进行合并。
详细的,采样数据量过大的少数key,分拆join操作的过程中,将不均匀表的少数几个key分拆成独立RDD,并附加随机前缀打散成n份去进行join,同时将另一个较均匀表也过滤出来那几个倾斜key对应的数据并形成一个单独的RDD,将每条数据膨胀成n条数据,这n条数据都按顺序附加一个0~n的前缀,不会导致倾斜的大部分key也形成另外一个RDD。此时这几个key对应的数据就不会集中在少数几个task上,而是分散到多个task进行join了。
进一步的,步骤S14中,通过添加随机前缀和扩容RDD进行join操作的过程具体为:对不均匀表中的数据添加随机前缀;对均匀表中的数据进行扩容,扩容后添加随机前缀;将不均匀表和均匀表进行join操作。
其中,对均匀表中的数据进行扩容的过程具体为:对均匀表中的RDD数据进行扩容,将每条数据都扩容成n条数据,n为正整数且n大于1。
详细的,通过添加随机前缀和扩容RDD进行join操作的过程中,将不均匀表中一样的key通过附加随机前缀变成不一样的key,同时对另外一个均匀表进行扩容。
其中,join操作为连接操作,Broadcast变量为广播变量,Driver端内存为驱动端内存,key为键值对里面的键key。
本发明主要针对Spark Join操作中普遍存在的数据倾斜问题进行优化改进,在进行Join操作即Spark Join操作之前,增加数据分析与预处理步骤,对不同类型的数据自适应地采取不同的处理方法,从而达到减轻甚至解除数据倾斜问题的目的,同时提高Join操作的执行效率。
详细的,在数据分析步骤中,对进行Join的数据进行分析并分类,Spark Join操作中的数据分为以下几种情况:(1)其中一个表的数据量比较小(能够完全放入内存),而另一个表的数据量很大,即join操作的对象为大表和小表;(2)两个表中的数据量都很大(无法放入内存),且其中一个表中的少数几个key对应的数据量过大,另一个表数据分布较均匀,即join操作的对象为均匀表和不均匀表,且不均匀表中少数key对应的数据量过大;(3)两个表中的数据量都很大(无法放入内存),且其中一个表中有大量key对数据量都过大,另一个表数据分布较均匀,即join操作的对象为均匀表和不均匀表,且不均匀表中大量key对应的数据量过大。这三种情况的数据若直接进行join操作会导致数据倾斜。
在预处理步骤中,为不同类型的倾斜数据选择不同的预处理方案如下:
(1)小表join大表时,选取的方案为:使用Broadcast变量与map类算子实现join操作,进而完全规避掉shuffle类的操作,彻底避免数据倾斜的发生和出现。
(2)含少数几个数据量过大key的不均匀表Join均匀表时,选取的方案为:采样获取少数key并分拆join操作。将不均匀表的少数几个key分拆成独立RDD,并附加随机前缀打散成n份去进行join,同时将另一个较均匀表也过滤出来那几个倾斜key对应的数据并形成一个单独的RDD,将每条数据膨胀成n条数据,这n条数据都按顺序附加一个0~n的前缀,不会导致倾斜的大部分key也形成另外一个RDD。此时这几个key对应的数据就不会集中在少数几个task上,而是分散到多个task进行join了。
(3)含大量数据量过大key的不均匀表Join均匀表时,选取的方案为:通过添加随机前缀和扩容RDD进行join。将不均匀表中一样的key通过附加随机前缀变成不一样的key,同时对另外一个均匀表进行扩容。该方案与前一种方案类似,不同之处在于,前一种方案是尽量只对少数倾斜key对应的数据进行特殊处理,扩容后RDD后对内存的占用并不大;而这一种方案是针对有大量倾斜key的情况,没法将部分key拆分出来进行单独处理,因此只能对整个RDD进行数据扩容,对内存资源要求很高。
如图2,在Spark原有的Join处理流程中添加数据分析和预处理两个阶段,在数据分析阶段中,通过分析将待join数据分为四类,然后针对不同类型的数据选取不同的预处理方案来缓解或解除数据倾斜问。
详细的,小表Join大表的情况,处理流程如图3所示。其中,首先将小表中的数据直接通过collect算子拉取到Driver端的内存中来;然后对其创建一个Broadcast变量;接着对另外一个RDD执行map类算子;在算子函数内,从Broadcast变量中获取小表的全量数据,与当前表的每一条数据按照连接key进行比对,如果连接key相同的话,那么就将两个RDD的数据用你需要的方式连接起来。
含少数数据量过大key的不均匀表Join均匀表的情况,处理流程如图4所示。其中,首先对包含少数几个数据量过大的key的那个表通过sample算子采样出一份样本来,然后统计一下每个key的数量,计算出来数据量最大的是哪几个key;接着将这几个key对应的数据从原RDD中拆分出来,形成一个单独的RDD,并给每个key都打上n以内的随机数作为前缀,而不会导致倾斜的大部分key形成另外一个RDD;再将需要join的另一个RDD,也过滤出来那几个倾斜key对应的数据并形成一个单独的RDD,将每条数据膨胀成n条数据,这n条数据都按顺序附加一个0~n的前缀,不会导致倾斜的大部分key也形成另外一个RDD;将附加了随机前缀的独立RDD与另一个膨胀n倍的独立RDD进行join,此时就可以将原先相同的key打散成n份,分散到多个task中去进行join了;另外两个普通的RDD直接join即可;最后将两次join的结果使用union算子合并起来即可,就是最终的join结果。
含大量数据量过大key的不均匀表Join均匀表的情况,处理流程如图5所示。其中,首先查看RDD中的数据分布情况,找到那个造成数据倾斜的RDD;然后将该RDD的每条数据都打上一个n以内的随机前缀;同时对另外一个正常的RDD进行扩容,将每条数据都扩容成n条数据,扩容出来的每条数据都依次打上一个0~n的前缀;最后将两个处理后的RDD进行join即可。
以上对本发明所提供的一种基于SparkJoin操作的自适应数据倾斜调整方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (7)

1.一种基于SparkJoin操作的自适应数据倾斜调整方法,其特征在于,包括:
确定join操作的对象;
当join操作的对象为大表和小表时,采用Broadcast变量与map类算子实现join操作;
当join操作的对象为均匀表和不均匀表时,若不均匀表中少数key对应的数据量过大,采样数据量过大的少数key,分拆join操作;
当join操作的对象为均匀表和不均匀表时,若不均匀表中大量key对应的数据量过大,通过添加随机前缀和扩容RDD进行join操作。
2.如权利要求1所述的方法,其特征在于,采用Broadcast变量与map类算子实现join操作,包括:
将小表中的数据保存到Driver端内存中,创建Broadcast变量;对大表执行map类算子操作;将大表和小表进行join操作。
3.如权利要求2所述的方法,其特征在于,所述将大表和小表进行join操作,包括:
在map类算子的函数内,从Broadcast变量中获取小表的全部数据,将小表的数据与大表的数据按照连接key进行比对,若连接key相同,将小表和大表进行连接。
4.如权利要求1所述的方法,其特征在于,所述采样数据量过大的少数key,分拆join操作,包括:
采样数据量过大的少数key;对不均匀表的数据进行拆分,拆分为含有少数key的RDD数据以及剩余的RDD数据;对均匀表中的数据进行拆分,拆分为含有少数key的RDD数据以及剩余的RDD数据;将分别从均匀表和不均匀表中拆分出来的含有少数key的RDD数据进行join操作,得到第一操作结果,将分别从均匀表和不均匀表中拆分出来的剩余的RDD数据进行join操作,得到第二操作结果。
5.如权利要求1所述的方法,其特征在于,所述通过添加随机前缀和扩容RDD进行join操作包括:
对不均匀表中的数据添加随机前缀;对均匀表中的数据进行扩容,扩容后添加随机前缀;将不均匀表和均匀表进行join操作。
6.如权利要求4所述的方法,其特征在于,还包括:
将第一操作结果和第二操作结果采用union算子进行合并。
7.如权利要求5所述的方法,其特征在于,所述对均匀表中的数据进行扩容,包括:对均匀表中的RDD数据进行扩容,将每条数据都扩容成n条数据,n为正整数且n大于1。
CN201710312035.2A 2017-05-05 2017-05-05 一种基于SparkJoin操作的自适应数据倾斜调整方法 Pending CN107066612A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710312035.2A CN107066612A (zh) 2017-05-05 2017-05-05 一种基于SparkJoin操作的自适应数据倾斜调整方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710312035.2A CN107066612A (zh) 2017-05-05 2017-05-05 一种基于SparkJoin操作的自适应数据倾斜调整方法

Publications (1)

Publication Number Publication Date
CN107066612A true CN107066612A (zh) 2017-08-18

Family

ID=59595979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710312035.2A Pending CN107066612A (zh) 2017-05-05 2017-05-05 一种基于SparkJoin操作的自适应数据倾斜调整方法

Country Status (1)

Country Link
CN (1) CN107066612A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108196970A (zh) * 2017-12-29 2018-06-22 东软集团股份有限公司 Spark平台的内存动态管理方法和装置
CN108536824A (zh) * 2018-04-10 2018-09-14 中国农业银行股份有限公司 一种数据处理方法及装置
CN108762902A (zh) * 2018-05-22 2018-11-06 齐鲁工业大学 基于Spark的分布式计算中多场景任务调度方法及装置
CN108804224A (zh) * 2018-05-22 2018-11-13 湖南大学 一种基于Spark框架的中间数据权重设置方法
CN110287038A (zh) * 2019-06-10 2019-09-27 天翼电子商务有限公司 提升Spark Streaming框架的数据处理效率的方法及系统
CN110738020A (zh) * 2019-10-25 2020-01-31 重庆誉存大数据科技有限公司 一种基于spark的批量方法
CN111079935A (zh) * 2019-10-16 2020-04-28 重庆邮电大学 一种spark下的机器学习快速大规模样本签名方法
CN111382335A (zh) * 2020-03-19 2020-07-07 腾讯科技(深圳)有限公司 一种数据拉取方法、装置及存储介质
CN111930720A (zh) * 2020-08-25 2020-11-13 携程计算机技术(上海)有限公司 数据倾斜的处理方法、系统、电子设备和介质
CN112905596A (zh) * 2021-03-05 2021-06-04 北京中经惠众科技有限公司 数据处理的方法、装置、计算机设备以及存储介质
CN115858523A (zh) * 2022-11-14 2023-03-28 上海沄熹科技有限公司 一种检测倾斜数据的Hash Join执行方法
WO2023045295A1 (zh) * 2021-09-27 2023-03-30 北京沃东天骏信息技术有限公司 数据倾斜处理方法、设备、存储介质及程序产品
CN117009094A (zh) * 2023-10-07 2023-11-07 联通在线信息科技有限公司 数据倾斜打散方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239529A (zh) * 2014-09-19 2014-12-24 浪潮(北京)电子信息产业有限公司 防止Hive数据倾斜的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239529A (zh) * 2014-09-19 2014-12-24 浪潮(北京)电子信息产业有限公司 防止Hive数据倾斜的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
日月的弯刀: "Spark性能调优之解决数据倾斜", 《HTTPS://WWW.CNBLOGS.COM/HAOZHENGFEI/P/A073F41D0E4FB055D7438B5D6A4B0312.HTML》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108196970A (zh) * 2017-12-29 2018-06-22 东软集团股份有限公司 Spark平台的内存动态管理方法和装置
CN108536824B (zh) * 2018-04-10 2020-11-20 中国农业银行股份有限公司 一种数据处理方法及装置
CN108536824A (zh) * 2018-04-10 2018-09-14 中国农业银行股份有限公司 一种数据处理方法及装置
CN108762902A (zh) * 2018-05-22 2018-11-06 齐鲁工业大学 基于Spark的分布式计算中多场景任务调度方法及装置
CN108804224A (zh) * 2018-05-22 2018-11-13 湖南大学 一种基于Spark框架的中间数据权重设置方法
CN108804224B (zh) * 2018-05-22 2021-06-11 湖南大学 一种基于Spark框架的中间数据权重设置方法
CN110287038A (zh) * 2019-06-10 2019-09-27 天翼电子商务有限公司 提升Spark Streaming框架的数据处理效率的方法及系统
CN111079935B (zh) * 2019-10-16 2022-10-18 重庆邮电大学 一种spark下的机器学习快速大规模样本签名方法
CN111079935A (zh) * 2019-10-16 2020-04-28 重庆邮电大学 一种spark下的机器学习快速大规模样本签名方法
CN110738020A (zh) * 2019-10-25 2020-01-31 重庆誉存大数据科技有限公司 一种基于spark的批量方法
CN111382335A (zh) * 2020-03-19 2020-07-07 腾讯科技(深圳)有限公司 一种数据拉取方法、装置及存储介质
CN111382335B (zh) * 2020-03-19 2023-03-17 腾讯科技(深圳)有限公司 一种数据拉取方法、装置及存储介质
CN111930720A (zh) * 2020-08-25 2020-11-13 携程计算机技术(上海)有限公司 数据倾斜的处理方法、系统、电子设备和介质
CN112905596A (zh) * 2021-03-05 2021-06-04 北京中经惠众科技有限公司 数据处理的方法、装置、计算机设备以及存储介质
CN112905596B (zh) * 2021-03-05 2024-02-02 北京中经惠众科技有限公司 数据处理的方法、装置、计算机设备以及存储介质
WO2023045295A1 (zh) * 2021-09-27 2023-03-30 北京沃东天骏信息技术有限公司 数据倾斜处理方法、设备、存储介质及程序产品
CN115858523A (zh) * 2022-11-14 2023-03-28 上海沄熹科技有限公司 一种检测倾斜数据的Hash Join执行方法
CN117009094A (zh) * 2023-10-07 2023-11-07 联通在线信息科技有限公司 数据倾斜打散方法、装置、电子设备及存储介质
CN117009094B (zh) * 2023-10-07 2024-02-23 联通在线信息科技有限公司 数据倾斜打散方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN107066612A (zh) 一种基于SparkJoin操作的自适应数据倾斜调整方法
JP6898320B2 (ja) インデックス確立の方法およびデバイス
US20140188906A1 (en) Hash Table and Radix Sort Based Aggregation
CN110018799A (zh) 一种存储池pg主确定方法、装置、设备及可读存储介质
CN105956666B (zh) 一种机器学习方法及系统
Rehrmann et al. OLTPshare: The case for sharing in OLTP workloads
CN103473325A (zh) 一种实现生成测试案例数据的系统及方法
CN107291770B (zh) 一种分布式系统中海量数据的查询方法及装置
CN108536808A (zh) 一种基于Spark计算框架的数据获取方法和装置
CN110659278A (zh) 基于cpu-gpu异构架构的图数据分布式处理系统
CN104376109A (zh) 一种基于数据分布库的多维度数据分布方法
CN105740410A (zh) 一种基于Hbase二级索引的数据统计方法
CN115390788A (zh) 基于fpga的图卷积神经网络稀疏矩阵乘法分配系统
CN104572505A (zh) 一种保证海量数据缓存最终一致性的系统及方法
CN111159002A (zh) 一种基于分组的数据边缘采集方法、边缘采集设备及系统
CN107798025B (zh) 存储过程的运行、编译方法、装置和数据库系统
Mishra et al. A lightweight online framework for query progress indicators
CN112711631B (zh) 数字孪生信息同步方法、系统、可读存储介质及设备
CN106326005A (zh) 一种迭代型MapReduce作业的参数自动调优方法
CN108319604B (zh) 一种hive中大小表关联的优化方法
CN105763636B (zh) 一种分布式系统中最优主机的选择方法及系统
CN110362577B (zh) 一种数据插入方法、装置、设备和储存介质
CN107169138A (zh) 一种面向分布式内存数据库查询引擎的数据分发方法
CN108319704B (zh) 一种分析数据的方法、装置、设备及存储介质
WO2022005409A1 (en) A method and apparatus for hardware accelerated data parsing, processing and enrichment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170818