您现在的位置是:首页 > 正文

如何使用Spark计算共同好友?

2024-04-01 02:35:13阅读 3

写在前面

你们好我是啊晨 ,一个大数据分享者兼一个努力成为大垃圾的小垃圾
本章介绍,使用spark计算共同好友,相信看这篇文章之前都有了解做过MapReduce的共同好友,文章后会有MapReduce的方法,大家自行比较一下哈。
如有其它需要请阅读我的其它大数据文章,谢谢
中间有什么问题请留言,请珍惜现在的时间:

在这里插入图片描述

描述

如网站有如下关系数据
friends.txt

A:B,C,D,F,E,O
B:A,C,E,K
C:F,A,D,I
D:A,E,F,L
E:B,C,D,M,L
F:A,B,C,D,E,O,M
G:A,C,D,E,F
H:A,C,D,E,O
I:A,O
J:B,O
K:A,C,D
L:D,E,F
M:E,F,G
O:A,H,I,J

数据说明:
A:B,C,D,F,E,O
每行数据以冒号为分隔符:
1.冒号左边是网站的一个用户A;
2.冒号右边是网站A的好友列表(各好友间以逗号为分隔符);

现在需要对网站的用户进行分析,找出那些用户两两之间有共同好友,以及他俩的共同好友都有那些人。
如:A、B两个用户拥有共同好友C和E;

(F-H,D,O,A,C,E)
(A-F,B,D,O,C,E)
(B-H,A,C,E)
(F-I,O,A)
(G-O,A)
(B-C,A)
(D-F,A,E)
(B-M,E)
(C-G,F,D,A)
....

计算

完整代码如下:

package spark

import org.apache.spark.rdd.RDD
import org.apache.spark.{
   SparkConf, SparkContext}



//共同好友聚合
object CommonFriend {
   
  def main(args: Array[String]): Unit = {
   
    //conf
    val conf = new SparkConf()
      .setMaster("local[*]")
      .setAppName(this.getClass.getName)
    //sc
    val sc = new SparkContext(conf)

    //读取数据
    val source: RDD[String] = sc.textFile("file:///E:\\work\\friends.txt")
    //处理数据
    val friendAndUser: RDD[(String, List[String]

网站文章

  • EtherCAT从站调试测试

    EtherCAT从站调试测试

    这是我从设计EtherCAT从站到调试过程中所遇到的一些问题记录。 1.Pin65引脚一定要接地 设计之初在刚上电时连接网线,网口指示灯不亮,也一直Twin不上,怀疑LAN9252未正常工作,最后检查...

    2024-04-01 02:35:05
  • oracle11g、10g同时安装数据导入导出无法识别数据库版本问题

    oracle11g、10g同时安装数据导入导出无法识别数据库版本问题

    案例:同一台机器、同一个windows用户下面同时安装了oracle10g/oracle11g 使用导入导出命令时候出现错误。 如下:导出11g数据库中的数据,出现如下错误 虽然安装了oracle11g,但其无法找到11g的版本信息(红色框中所示)。 原因为:由于先安装的11g,后安装的10g。在写入环境变量的时候10g的环境变量在前,在寻找版本信息的时候直接找到的10g的信息,导

    2024-04-01 02:34:58
  • 解决python3缺少zlib的问题

    记住下载安装zlib之后要对python重新编译链接 https://www.cnblogs.com/galaxy-gao/p/5796488.html

    2024-04-01 02:34:13
  • Hadoop分布式文件存储系统HDFS高可用HA搭建

    可以由很多台处于standBy状态的NameNode,一般一台就够了。------------------测试Hadoop的nameNode的HA功能-------------------------...

    2024-04-01 02:34:05
  • arts打卡第一周

    Algorithm: 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为gai目标值的两个整数。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 public int[] ...

    2024-04-01 02:33:58
  • 目标计算机积极拒绝 无法连接,无法建立连接。请确保该服务器正在运行。 - Microsoft Community...

    无法连接到 ZHOUJC\ZHOUJC。===================================无法建立连接。请确保该服务器正在运行。 (Microsoft.AnalysisServic...

    2024-04-01 02:33:19
  • CobaltStrike之后渗透

    CobaltStrike之后渗透

    学习掌握CobaltStrike后渗透技术,更好的用于内网横向。

    2024-04-01 02:33:11
  • ARM 中断处理过程

    1.寄存器R16用作CPSR(Current Program Status Register,当前程序状态寄存器),CPSR可在任何运行模式下被访问,它包括条件标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位。 每一种运行模式下又都有一个专用的物理状态寄存器,称为SPSR(Saved Program Status Register,备份的程序状态寄存器),当异常发生时,

    2024-04-01 02:33:04
  • 我的世界科学计算机,编程一小时 我的世界全球计算机科学教育活动

    我的世界科学计算机,编程一小时 我的世界全球计算机科学教育活动

    2017年1月18日上周末(1月14日),八位6-12岁的小朋友带着对《我的世界》游戏的热情和对编程的好奇与兴趣,基于他们最喜爱的《我的世界》游戏,在“MineCraft计算思维小课堂“上体验了微软“...

    2024-04-01 02:32:22
  • 网站出现“You don‘t have permission to access / on this server.”错误原因和解决方案 热门推荐

    网站出现“You don‘t have permission to access / on this server.”错误原因和解决方案 热门推荐

    当访问网站出现“You don't have permission to access / on this server.”时,造成此现象的原因大概有以下两点: 一:用户程序不完整,或者未在空间上设置首页,导致网站无法访问; 二:伪静态未开启,或用户的伪静态文件、伪静态规则不正确; 可根据以上提示查看代码或管理后台修改。 ...

    2024-04-01 02:32:15