锁屏面试题百日百刷-Spark篇(十八)

锁屏面试题百日百刷,每个工作日坚持更新面试题。锁屏面试题app、小程序现已上线,官网地址:https://www.demosoftware.cn。已收录了每日更新的面试题的所有内容,还包含特色的解锁屏幕复习面试题、每日编程题目邮件推送等功能。让你在面试中先人一步!接下来的是今日的面试题:

1.为什么要进行序列化

序列化可以减少数据的体积,减少存储空间,高效存储和传输数据,不好的是使用的时候要反序列化,非常消耗CPU。

2.下面这段代码输出结果是什么?

def joinRdd(sc:SparkContext) {

val name= Array(

Tuple2(1,"spark"), Tuple2(2,"tachyon"), Tuple2(3,"hadoop")

)

val score= Array(

Tuple2(1,100), Tuple2(2,90), Tuple2(3,80)

)

val namerdd=sc.parallelize(name);

val scorerdd=sc.parallelize(score);

val result = namerdd.join(scorerdd);

result .collect.foreach(println);

}

答案:

(1,(Spark,100))

(2,(tachyon,90))

(3,(hadoop,80))

3.Spark累加器有哪些特点?

1)累加器在全局唯一的,只增不减,记录全局集群的唯一状态;

2)在exe中修改它,在driver读取;

3)executor级别共享的,广播变量是task级别的共享两个application不可以共享累加器,但是同一个app不同的job可以共享。

4.spark hashParitioner的弊端是什么?

HashPartitioner分区的原理很简单,对于给定的key,计算其hashCode,并除于分区的个数取余,如果余数小于0,则用余数+分区的个数,最后返回的值就是这个key所属的分区ID;弊端是数据不均匀,容易导致数据倾斜,极端情况下某几个分区会拥有rdd的所有数据。

5.RangePartitioner分区的原理?

RangePartitioner分区则尽量保证每个分区中数据量的均匀,而且分区与分区之间是有序的,也就是说一个分区中的元素肯定都是比另一个分区内的元素小或者大;但是分区内的元素是不能保证顺序的。简单的说就是将一定范围内的数映射到某一个分区内。其原理是水塘抽样。

6.介绍parition和block有什么关联关系?

1)hdfs中的block是分布式存储的最小单元,等分,可设置冗余,这样设计有一部分磁盘空间的浪费,但是整齐的block大小,便于快速找到、读取对应的内容;

2)Spark中的partion是弹性分布式数据集RDD的最小单元,RDD是由分布在各个节点上的partion组成的。partion是指的spark在计算过程中,生成的数据在计算空间内最小单元,同一份数据(RDD)的partion大小不一,数量不定,是根据application里的算子和最初读入的数据分块数量决定;

3)block位于存储空间、partion位于计算空间,block的大小是固定的、partion大小是不固定的,是从2个不同的角度去看数据。

7.hbase预分区个数和spark过程中的reduce个数相同么

预分区数和spark的map个数相同,reduce个数如果没有设置和reduce前的map数相同。

8.Spark如何自定义partitioner分区器?

1)spark默认实现了HashPartitioner和RangePartitioner两种分区策略,我们也可以自己扩展分区策略,自定义分区器的时候继承org.apache.spark.Partitioner类,实现类中的三个方法:

def numPartitions: Int:这个方法需要返回你想要创建分区的个数;

def getPartition(key: Any): Int:这个函数需要对输入的key做计算,然后返回该key的分区ID,范围一定是0到numPartitions-1;

equals():这个是Java标准的判断相等的函数,之所以要求用户实现这个函数是因为Spark内部会比较两个RDD的分区是否一样。

2)使用,调用parttionBy方法中传入自定义分区对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 华为荣耀原线刷解锁id锁屏平台工具包是为解决华为荣耀手机出现id锁屏问题而推出的一款工具包。在使用华为荣耀手机时,有时会出现id锁屏问题,这种情况下,你需要使用正确的工具才能解决这个问题。 华为荣耀原线刷解锁id锁屏平台工具包是华为品牌推出的一款专门针对id锁屏问题的工具包。它包含了一系列的工具和软件,能够帮助你使用最有效的方式来解决id锁屏问题。在使用该工具包之前,你需要确保你的手机已经成功地连接到计算机上,然后按照工具包的说明一步一步地进行操作。 使用该工具包可以在一定程度上帮助你减少手机维修的花费,让你能够更加方便快捷地解锁id锁屏问题。但是,需要注意的是,在使用该工具包之前,你需要仔细阅读说明,并且确认已经备份了重要的数据和文件,以免造成数据的丢失。 总之,华为荣耀原线刷解锁id锁屏平台工具包是一款非常实用的解决id锁屏问题的工具,但使用者需要在正确认识工具的功能和使用前提下,按照说明正确操作,以免产生不必要的风险。 ### 回答2: 华为荣耀原线刷解锁ID锁屏平台工具包是为了解决恢复华为荣耀手机的出厂设置而设计的。在使用这个工具包之前,首先需要确保手机已经开启了USB调试和OEM解锁功能,否则会出现无法使用的情况。 通过使用华为荣耀原线刷解锁ID锁屏平台工具包,可以轻松地解决一些华为荣耀手机出现的问题。例如,当手机出现无法正常启动、系统崩溃、忘记锁屏密码、无法进入系统等问题时,可以使用这个工具包进行解决。它可以将手机恢复到出厂设置,同时解锁ID锁屏,让用户重新设置密码并重新使用手机。 同时,需要注意的是,使用这个工具包必须谨慎。因为要对手机进行解锁,需要进行一些操作,如果不小心操作不当可能会造成数据丢失,所以一定要备份好手机上的重要数据。此外,在使用工具包的时候,根据不同的手机型号,需要下载相应的刷机包和驱动程序,确保刷机的成功性。 总之,华为荣耀原线刷解锁ID锁屏平台工具包对于华为荣耀手机的重要性不言而喻,但是在使用的时候必须谨慎。只有在懂得如何使用这个工具包的前提下,才能避免不必要的麻烦。 ### 回答3: 华为荣耀手机原线刷解锁ID锁屏平台工具包,指的是用户可通过该工具包对自家的荣耀系列手机进行指定操作。具体而言,在一些特殊的使用场景下(例如忘记了ID或密码),该工具包能够帮助用户解决手机无法正常使用的问题。 然而,需要注意的是,解锁ID锁屏需要一些特殊的前提条件和操作步骤,而操作不当有可能会导致手机出现各种问题。所以,在使用该工具包前,用户需要具有相应的技术和操作经验,并严格按照软件的提示和操作手册步骤执行操作,以避免造成不必要的麻烦和损失。 总之,华为荣耀原线刷解锁ID锁屏平台工具包是一个可以帮助用户解决荣耀手机锁屏问题的工具,但是需要用户具备一定的技术实力和操作经验。如果不确定自己的操作技巧,建议用户寻求专业的技术支持和服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值