> # ♻️ 资源
> **大小:** 5.92MB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100010313**](https://www.yuque.com/sxbn/ks/100010313)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/87359327**](https://download.csdn.net/download/s1t16/87359327)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
> ![qrcode_for_gh_d52056803b9a_344.jpg](https://cdn.nlark.com/yuque/0/2023/jpeg/2469055/1692147256036-49ec7e0c-5434-4963-b805-47e7295c9cbc.jpeg#averageHue=%23a3a3a3&clientId=u8fb96484-770e-4&from=paste&height=140&id=u237e511a&originHeight=344&originWidth=344&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=8270&status=done&style=none&taskId=ud96bf5f7-fe85-4848-b9c2-82251181297&title=&width=140.1999969482422)
# 1系统相关技术
## 1.1通用并行框架 Spark
Spark 是由加州大学伯克利分校 AMP 实验室所开源的类 Hadoop MapReduce 的通用并行框架,Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS, 因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce 的算法。
Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行,通过名为 Mesos 的第三方集群框架可以支持此行为。
RDD(Resilient Distributed Datasets),弹性分布式数据集,是分布式内存的一个抽象概念,RDD 提供了一种高度受限的共享内存模型,即 RDD 是只读的记录分区的集合,只能通过对其他 RDD 执行确定的转换操作(如 map、join 和 group by)而创建,然而这些限制使得实现容错的开销很低。对开发者而言,RDD 可以看作是 Spark 的一个对象,它本身运行于内存中,如读文件是一个 RDD,对文件计算是一个 RDD,结果集也是一个 RDD ,不同的分片、数据之间的依赖、key-value 类型的 map 数据都可以看做 RDD。
## 1.2图计算框架 **GraphX**
Spark GraphX 是一个分布式图处理框架,Spark GraphX 基于 Spark 平台提供对图计算和图挖掘简洁易用的而丰富多彩的接口,极大的方便了大家对分布式图处理的需求。
众所周知,社交网络中人与人之间有很多关系链,例如 Twitter、Facebook、微博和微信等,这些都是大数据产生的地方都需要图计算,现在的图处理基本都是分布式的图处理,而并非单机处理。Spark GraphX 由于底层是基于 Spark 来处理的,所以天然就是一个分布式的图处理系统。
图的分布式或者并行处理其实是把图拆分成很多的子图,然后分别对这些子图进行计算,计算的时候可以分别迭代进行分阶段的计算,即对图进行并行计算。
## 1.3动态图形组件 GraphStream
GraphStream 是一个 Java 类库,用于管理动态图形。它由一个面向对象的 API 组成,能够以简便、快速的方式在一张图形中添加边缘和节点,并让它们进行演变[15]。
## 1.4函数式编程语言 Scala
Scala 是一门多范式的编程语言,一种类似 java 的编程语言,设计初衷是实现可伸缩的语言,并集成命令式编程、面向对象编程和函数式编程的各种特性。Scala 有几项关键特性表明了它的面向对象的本质。例如,Scala 中的每个值都是一个对象,包括基本数据类型(即布尔值、数字等)在内,连函数也是对象。另外,类可以被子类化,而且 Scala 还提供了基于 mixin 的组合(mixin-based com position)。
与只支持单继承的语言相比,Scala 具有更广泛意义上的类重用。Scala 允许定义新类的时候重用“一个类中新增的成员定义(即相较于其父类的差异之处)”, Scala 称之为 mixin 类组合。
Scala 还包含了若干函数式语言的关键概念,包括高阶函数(Higher-Order Function)、局部套用(Currying)、嵌套函数(Nested Function)、序列解读(Se quence Comprehensions)等等。
Scala 是静态类型的,这就允许它提供泛型类、内部类、甚至多态方法(Po lymorphic Method)。另外值得一提的是,Scala 被特意设计成能够与 Java 和.NE T 互操作。Scala 当前版本还不能在.NET 上运行,但按照计划将来可以在.NET 上运行。
Scala 可以与 Java 互操作。它用 scalac 这个编译器把源文件编译成 Java 的 cl ass 文件(即在 JVM 上运行的字节码)。你可以从 Scala 中调用所有的 Java 类库, 也同样可以从 Java 应用程序中调用 Scala 的代码。用 David Rupp 的话来说,它也可以访问现存的数之不尽的 Java 类库,这让 Java 类库迁移到 Scala 变得更加容易。
# 2系统功能性需求分析
前两章中,介绍了系统的背景,并介绍了开发中使用的关键技术。本章将描述系统的需求,基于这些需求,系统设计和实现才得以开展。
## 2.1系统功能模块
系统功能模块如图 3- 1 所示,整个系统分为三大功能块,分别是:图构建模块,可视化模块和顶点分析模块。在顶点分析模块中,用户可以进行顶点重要程度分析、顶点分组(聚类)、顶点邻居计算、顶点到顶点路径计算等多角度的分析。
![1.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1709863022164-fd6691fd-2138-43ea-b15f-46bd02a7d777.png#averageHue=%23f6f6f6&clientId=u49fb9335-801c-4&from=paste&height=366&id=u2f72f280&originHeight=458&originWidth=468&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=31780&status=done&style=none&taskId=udb8dfa06-acc8-44cf-88c7-aead6960103&title=&width=374.4)
## 2.2系统用例描述
图构建的用例描述如下表所示:
表 **3-1** 构建图用例描述
![2.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1709863035743-260cc763-9a8c-40eb-9cb7-e9b7e8ad5483.png#averageHue=%23f2f2f2&clientId=u49fb9335-801c-4&from=paste&height=563&id=O3Lsk&originHeight=704&originWidth=537&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=99427&status=done&style=none&taskId=uca0a8b27-9dd2-45ca-b563-3290cc836c0&title=&width=429.6)
图计算对象可视化的用例描述如下表所示:
表 **3-2** 图计算对象可视化用例描述
![3.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1709863084403-b094df5a-c429-4c01-89a9-26c65dd81383.png#averageHue=%23eeeeee&clientId=u49fb9335-801c-4&from=paste&height=297&id=u17ecb0fc&originHeight=371&originWidth=525&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=55470&status=done&style=none&taskId=u8a199a87-44f9-439b-8eee-c727971a116&title=&width=420)
图的可视化对象局部标记的用例描述如下表所示:
表 **3-3** 图的可视化对象局部标记用例描述
![4.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1709863093139-ac74c48e-98a5-4f66-b215-d403135a5c05.png#averageHue=%23ededed&clientId=u49fb9335-801c-4&from=paste&height=246&id=ucebcd401&originHeight=307&originWidth=527&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=49692&status=done&style=none&taskId=u00701d80-d259-486e-b394-e866e7153f0&title=&width=421.6)
![5.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1709863108609-e57e5f13-2a39
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
详情介绍:https://www.yuque.com/sxbn/ks/100010313 整个系统分为三大功能块,分别是:图构建模块,可视化模块和顶点分析模块。 在顶点分析模块中,用户可以进行顶点重要程度分析、顶点分组(聚类)、顶点邻居计算、顶点到顶点路径计算等多角度的分析。
资源推荐
资源详情
资源评论
收起资源包目录
100010313-基于Spark图计算的社会网络分析系统.zip (71个子文件)
acdsbo
CreateTest.scala 574B
PlotDegreeDistribution.scala 3KB
Create.scala 1KB
VisualizeTest.scala 1KB
LICENSE 1KB
design
GraphBuild 流程图.vsdx 32KB
flow_chart_of_find_n-layer_neighbors_algorithm.png 36KB
System_Architecture.vsdx 26KB
GraphBuild_flow_chart.png 33KB
Function Block Diagram功能模块图.vsdx 26KB
flow chart of find n-layer neighbors algorithm.vsdx 39KB
类图.vsdx 104KB
System_Architecture.png 39KB
SimpleRoutes.scala 7KB
visualization
简单路径计算可视化结果.png 398KB
顶点分组可视化结果.png 428KB
顶点重要程度可视化结果.png 460KB
带有人物姓名和关系的图构建可视化结果.png 392KB
百度文库_GraphStream调研笔记.docx 114KB
节点邻居计算可视化结果.png 496KB
style
stylesheet.css 589B
stylesheet1.css 373B
img
29.png 116KB
31.png 187KB
28.png 62KB
30.png 239KB
19.png 92KB
10.png 27KB
9.png 59KB
3.png 54KB
36.png 163KB
35.png 121KB
12.png 47KB
24.png 6KB
25.png 10KB
38.png 241KB
15.png 79KB
1.png 31KB
34.png 498KB
23.png 9KB
11.png 33KB
13.png 52KB
6.png 55KB
27.png 80KB
5.png 10KB
4.png 49KB
8.png 19KB
21.png 10KB
17.png 86KB
33.png 246KB
16.png 55KB
32.png 504KB
7.png 35KB
20.png 12KB
18.png 7KB
2.png 97KB
14.png 52KB
37.png 119KB
26.png 13KB
22.png 22KB
PeopleCorrelationAnalysis.scala 3KB
NLayerNetworkTest.scala 2KB
model
Link.scala 111B
Person.scala 97B
README.md 38KB
GraphStreamTest.scala 3KB
META-INF
MANIFEST.MF 57B
Visualize.scala 5KB
ImportanceEvaluation.scala 4KB
CommunityDetection.scala 4KB
NLayerNetwork.scala 3KB
共 71 条
- 1
资源评论
神仙别闹
- 粉丝: 3810
- 资源: 7471
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功