SparkConf的练习题

小补充:-》宽依赖的操作有哪些?
宽依赖:父RDD的一个分区会被子RDD的多个分区依赖
操作:groupByKey,reduceByKey,sortByKey,partitionBy, join

1、创建一个1-10数组的RDD,将所有元素2形成新的RDD
在这里插入图片描述
2、创建一个10-20数组的RDD,使用mapPartitions将所有元素
2形成新的RDD
在这里插入图片描述
3、创建一个元素为 1-5 的RDD,运用 flatMap创建一个新的 RDD,新的 RDD 为原 RDD 每个元素的 平方和三次方 来组成 1,1,4,8,9,27…
在这里插入图片描述
4、创建一个 4 个分区的 RDD数据为Array(10,20,30,40,50,60),使用glom将每个分区的数据放到一个数组
在这里插入图片描述
5、创建一个 RDD数据为Array(1, 3, 4, 20, 4, 5, 8),按照元素的奇偶性进行分组
在这里插入图片描述
6、创建一个 RDD(由字符串组成)Array(“xiaoli”, “laoli”, “laowang”, “xiaocang”, “xiaojing”, “xiaokong”),过滤出一个新 RDD(包含“xiao”子串)
在这里插入图片描述
7、创建一个 RDD数据为1 to 10,请使用sample不放回抽样
在这里插入图片描述
8、创建一个 RDD数据为1 to 10,请使用sample放回抽样
在这里插入图片描述
9、创建一个 RDD数据为Array(10,10,2,5,3,5,3,6,9,1),对 RDD 中元素执行去重操作
在这里插入图片描述
10、创建一个分区数为5的 RDD,数据为0 to 100,之后使用coalesce再重新减少分区的数量至 2
在这里插入图片描述
11、创建一个分区数为5的 RDD,数据为0 to 100,之后使用repartition再重新减少分区的数量至 3
在这里插入图片描述
12、创建一个 RDD数据为1,3,4,10,4,6,9,20,30,16,请给RDD进行分别进行升序和降序排列
在这里插入图片描述
13、创建两个RDD,分别为rdd1和rdd2数据分别为1 to 6和4 to 10,求并集
在这里插入图片描述
14、创建两个RDD,分别为rdd1和rdd2数据分别为1 to 6和4 to 10,计算差集,两个都算
在这里插入图片描述
15、创建两个RDD,分别为rdd1和rdd2数据分别为1 to 6和4 to 10,计算交集
在这里插入图片描述
16、创建两个RDD,分别为rdd1和rdd2数据分别为1 to 6和4 to 10,计算 2 个 RDD 的笛卡尔积
在这里插入图片描述
17、创建两个RDD,分别为rdd1和rdd2数据分别为1 to 5和11 to 15,对两个RDD拉链操作
在这里插入图片描述
18、创建一个RDD数据为List((“female”,1),(“male”,5),(“female”,5),(“male”,2)),请计算出female和male的总数分别为多少
在这里插入图片描述
19、创建一个有两个分区的 RDD数据为List((“a”,3),(“a”,2),(“c”,4),(“b”,3),(“c”,6),(“c”,8)),取出每个分区相同key对应值的最大值,然后相加
在这里插入图片描述
20、创建一个有两个分区的 pairRDD数据为Array((“a”, 88), (“b”, 95), (“a”, 91), (“b”, 93), (“a”, 95), (“b”, 98)),根据 key 计算每种 key 的value的平均值
在这里插入图片描述
21、统计出每一个省份广告被点击次数的 TOP3,数据在access.log文件中
数据结构:时间戳,省份,城市,用户,广告 字段使用空格分割。
样本如下:
1516609143867 6 7 64 16
1516609143869 9 4 75 18
1516609143869 1 7 87 12
代码:
在这里插入图片描述
结果:
在这里插入图片描述
22、读取本地文件words.txt,统计出每个单词的个数,保存数据到 hdfs 上
数据:

== words.txt==
hadoop hadoop spark spark spark java java
sqoop sqoop jdk jdk
hive hive hive hbase
hbase flume
flume oozie oozie
flink flink flink
hello hello hello scala scala
代码:
在这里插入图片描述
结果:
在这里插入图片描述

23、读取 people.json 数据的文件, 每行是一个 json 对象,进行解析输出
数据:

people.json
{“name”:“Michael1”}
{“name”:“Andy1”, “age”:30}
{“name”:“Justin1”, “age”:19}
{“name”:“Michael2”}
{“name”:“Andy2”, “age”:20}
{“name”:“Justin2”, “age”:22}
{“name”:“Michael3”}
{“name”:“Andy3”, “age”:25}
{“name”:“Justin3”, “age”:26}
代码:
在这里插入图片描述
结果:
在这里插入图片描述

24、保存一个 SequenceFile 文件,使用spark创建一个RDD数据为Array((“a”, 1),(“b”, 2),(“c”, 3)),保存为SequenceFile格式的文件到hdfs上

代码:
在这里插入图片描述
结果:
在这里插入图片描述

25、读取24题的SequenceFile 文件并输出

代码:
在这里插入图片描述
结果:
在这里插入图片描述

26、读写 objectFile 文件,把 RDD 保存为objectFile,RDD数据为Array((“a”, 1),(“b”, 2),(“c”, 3)),并进行读取出来
代码:
在这里插入图片描述
27、使用内置累加器计算Accumulator.txt文件中空行的数量
数据:Accumulator.txt

hadoop hadoop
spark spark spark java java
sqoop
sqoop
jdk jdk
hive hive hive hbase
hbase flume
flume oozie oozie
flink flink flink
hello hello hello scala scala
hadoop hadoop
spark spark spark
java java
sqoop sqoop
jdk jdk
hive hive hive hbase
hbase flume
flume oozie oozie
flink flink flink
hello hello hello scala scala在这里插入图片描述

28、使用Spark广播变量
用户表:
id name age gender(0|1)
001,刘向前,18,0
002,冯 剑,28,1
003,李志杰,38,0
004,郭 鹏,48,2
要求,输出用户信息,gender必须为男或者女,不能为0,1
使用广播变量把Map(“0” -> “女”, “1” -> “男”)设置为广播变量,最终输出格式为
001,刘向前,18,女
003,李志杰,38,女
002,冯 剑,28,男
004,郭 鹏,48,男
代码:

object day28{
   
    def main(args: Array[String]): Unit = {
   
        val conf = new SparkConf().setMaster("local[2]").setAppName(_01SparkPersistOps.getClass.getSimpleName())
        val sc = new SparkContext(conf)
        Logger.getLogger("org.apache.spark").setLevel(Level.OFF)
        Logger.getLogger("org.apache.hadoop").setLevel(Level.OFF)

        val userList = List(
            "001,刘向前,18,0",
            "002,冯  剑,28,1",
            "003,李志杰,38,0",
            "004,郭  鹏,48,2"
        )
        val genderMap = 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值