前言
我:什么是RDD?
面试者:RDD是被分区的,由一系列分区组成…
…
我:你怎么理解分区?
面试者:…
我:Spark中有哪些可以实现分区的方法?分别使用的场景是什么?
面试者…
我:Spark默认分区数是多少?如何保证一个分区对应一个文件?
面试者…
我:…谢谢您的面试,回去等通知吧!
什么是分区
Spark分区是将大型数据集划分为较小的数据块,每个数据块称为分区,分区是一个逻辑数据块,对应相应的物理块Block。每个分区都可以在集群中的不同节点上并行处理,这样可以提高Spark的并行性和性能。分区的数量可以通过设置Spark的分区数来控制,分区数越多,Spark可以并行处理的数据块就越多,从而提高性能。分区的数量应根据数据的大小和集群的资源进行调整,以充分利用集群的并行处理能力。在处理大型数据集时,Spark分区是非常重要的,因为它可以帮助Spark充分利用集群的资源和并行处理能力,从而加快数据处理速度。
有哪些分区方法,使用场景是什么
分区方法 | 使用场景 |
---|---|
repartition(numPartitions : scala.Int) | 对数据集随机打散进行范围分区,每个分区中数据量大致相同 |