统一识别_图计算| 学习笔记

简介: 快速学习统一识别_图计算

开发者学堂课程【2020版大数据实战项目之 DMP 广告系统(第七阶段)统一识别_图计算】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/682/detail/11840


统一识别_图计算

图计算本身在调用的时候比较简单,没有 API,所以本节简单介绍下什么是图计算。

首先可以看到相应的两个数据集:

)).toDF( colNames="id", "name","age")

一个叫做 vertexvertex 可以理解为一个点,点里的数据第一列是 id, 第二列是 name,第三列是 age,第二个数据集val edge = spark.createDataFrame(List( 

val edge = spark.createDataFrame(List(

("a","b", "friend"),

("b","c","follow"),

("c","b","fo1low"),

("f""c","follow"),

("e","f","follow"),

("e","d","friend"),

("d","a","friend"),

("a","e","friend")

)).toDF( colNames= "src","dst","relationship")

}

}

// edge 对应的是一个边,这个边里的数据有"src"一端,"dst"另一端目标,"relationship"关系,所以这个vertex 这个点描述的其实是一个人,这个人的 id、名字、年龄是多少,edge 其实是在描述。

人与人之间的关系,找到ABC的所有关系。

画一个简略的草图,

首先第一个是A,第二个B,第三个为C,接下来AB有关系,可以连一条线,BC有关系,连线,CD没有关系,fc没有关系,e""f",""e""d","d""a""a""e 都没有关系,只找有关系的ABBC。如果这样,C通过B也是可以找到A的。

 2022-11-22 (19).png

那么想通过一个顶点找到和所有点都关联的点需要怎么去找呢?

在写之前要导入两个 mailyilai,

<dependency>

<groupId>graphframes</groupId>

<artifactId>graphframes</artifactId>

<version>0.7.0-spark2.4-s_2.11</version>

</dependency>

<dependency>

<groupId>org.apache.spark</groupId>

<artifactId>spark-graphx_2.11</artifactId>

<version>${spark.version}</version>

</dependency)

这一串代码导入Pom.xml文件中,往下实现通过关系找到哪一些人是可以在一个团队里、那些人是相互有关系的需求,

spark.sparkContext.setCheckpointDir("checkpoint")

val graph = GraphFrame(vertex,edge).connectedComponents.run()

graph.show()

}

}

// 创建一个 GraphFrame,接收两个参数分别为 vertexedge,使用 connectedComponents划分团队关系,对图中所有点进行串联,还需调用 run 才可程序运行,获取到一张图 graph,使用 show 打印这张图,看其中信息,运行出结果后发现报错,

2022-11-22 (21).png

错误需要设置 CheckpointDir  的目录。所以在调用 run 之前,通过spark.sparkContext 来去设置一个 setCheckpointDir,目录称为"checkpoint"

此时再运行一遍发现还在报错,是因为 GraphFrame JsonDSL$ 有冲突,需要打开 pom 文件找到

<dependency>

<groupId>org.json4s</groupId>

<artifactId>json4s-jackson_2.11</artifactId>

version>3.6.6</version>

</dependency>

这个 jar 包进行删除可解决。

2022-11-22 (23).png

注意:顶点这个数据集当中必须有一列叫做 id,会按照这个 id 来进行联通,边“edge”这个数据集当中必须要有两列,"src""dst",边的两端。把能联系起来的点放到同一个 component 中。

相关文章
|
4天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1092 152
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1767 9
|
10天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
700 152
|
12天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
663 13
|
7天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
454 5