首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

apache -从sql表创建VertexRDD

Apache Spark是一个开源的大数据处理框架,提供了分布式计算和分析的能力。Spark GraphX是Spark提供的图计算库,用于处理图数据。

在Spark GraphX中,可以使用SQL表来创建VertexRDD,下面是从SQL表创建VertexRDD的步骤:

  1. 首先,确保你已经在Spark中创建了一个SparkSession对象,用于执行SQL操作。
  2. 在SparkSession中,使用spark.sql方法执行SQL查询,从数据库中获取相关数据。例如,假设我们有一个名为"person"的表,包含了人的信息,可以执行如下的SQL查询语句:
代码语言:txt
复制
val vertexDF = spark.sql("SELECT id, name FROM person")

这将返回一个DataFrame,包含两列,分别是"id"和"name"。

  1. 使用DataFrame的rdd方法将DataFrame转换为RDD。
代码语言:txt
复制
val vertexRDD = vertexDF.rdd
  1. 接下来,我们需要将RDD转换为VertexRDD。在这之前,需要定义一个函数来从RDD的每一行数据中提取出顶点的唯一标识符(vertex id)和属性(vertex attribute)。假设"id"列是唯一标识符,"name"列是属性,我们可以定义如下的函数:
代码语言:txt
复制
def extractVertex(row: Row): (Long, String) = {
  val id = row.getAs[Long]("id")
  val name = row.getAs[String]("name")
  (id, name)
}
  1. 使用map方法,将提取函数应用于RDD的每一行数据,得到一个包含了顶点标识符和属性的元组的RDD。
代码语言:txt
复制
val vertexTupleRDD = vertexRDD.map(extractVertex)
  1. 最后,使用Graph.fromEdgeTuples方法将顶点元组RDD和边RDD(如果有的话)创建成一个Graph对象。
代码语言:txt
复制
val graph = Graph.fromEdgeTuples(edgeTupleRDD, vertexTupleRDD)

至此,我们就成功地从SQL表创建了一个包含顶点的VertexRDD,并将其用于构建图计算任务。

Apache Spark相关链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SQL语句中创建的语句_用sql创建

mysql创建sql语句 mysql建常用sql语句: 连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 断开:exit (回车)...创建授权:grant select on 数据库.* to 用户名@登录主机 identified by “密码” 修改密码:mysqladmin -u用户名 -p旧密码 password 新密码 删除授权...show tables; 显示结构:describe 名; 创建库:create database 库名; 删除库:drop database 库名; 使用库(选中库):use 库名; 创建:create...from 名; 备份: mysqlbinmysqldump -h(ip) -uroot -p(password) databasename tablename > tablename.sql 恢复...: mysqlbinmysql -h(ip) -uroot -p(password) databasename tablename < tablename.sql(操作前先把原来删除) 增加列:ALTER

4.7K10
  • SQL 基础-->创建和管理

    --================================= --SQL 基础-->创建和管理 --================================= 一、创建:create...用户定义的: –用户自己创建并维护的一组 –包含了用户所需的信息 数据字典: –由Oracle Server自动创建的一组 –包含数据库信息 9.查询数据字典 查看用户定义的,...SQL> SELECT * FROM emp2; no rows selected 12.使用子查询创建时候用 AS subquery 选项,将创建和插入数据结合起来 指定的列和子查询中的列要一一对应...: 先分析,更新系统数据 exec dbms_stats.gather_table_stats('属主' , ' 名') dba_tables数据字典中查询 select table_name...当创建的会话注销后, 依然会存在,只不过是空的罢了。

    96710

    数据库建规则_SQL创建数据

    数据类型尽量小,这里的尽量小是指在满足可以预见的未来需求的前提下的,但是有不能太小, 上次监控系统里面的 mon_tair_stat_detail_2012_1 的data_size 和 use_size...所以在建的时候一定要预估这个字段最大的长度到底是多少。   C. 尽量不要允许NULL,除非必要,可以用NOT NULL+DEFAULT 的值来代替。   D....比如说时间: 目前我们定义时间的时候 都是create_time, modify_time,以后建的时候,都按照这个标准来,就不要写成createtime这样的。 B....新建的与之前的的字段有相似或者相同的字段,字段的名称和类型也必须相同,切记不能随意的重新命名,例如:token_md5 就不要命名成tokenmd5了。 E....名 字段名字统一用小写。 G.索引名称统一用字段名称,多个字段的索引加_ 比如 (uid,type) 索引名就是 uid_type。

    2.2K10

    sqlserver语句创建表格_创建sql语句外键

    今天介绍一下如何使用SQL Server语句创建并添加数据 首先先了解一下的模式,在数据库中根据模式进行分组避免名称的冲突 在SQL Server 2014中直接新建是默认的前缀dbo 而命名其他的模式需要使用...SQL Server语句进行创建 下面将一步一步的进行演示,首先是创建一个数据库 然后创建模式在后面使用 根据创建的模式或者使用默认的模式名,进行创建,语句如下图 下面解释一下句子的意思 看一下新建好的...后面介绍如何在新表里面添加数据 根据的列数和对应的数据类型在括号中一一对应的添加数据并使用逗号隔开 注意,以上添加数据的方法需要同时添加全部字段 如果需要添加单个字段或者较多且不是全部字段则方法如下...当添加不是全部字段时注意不能为空的字段必须写入数据 最后看一下添加好数据的 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183704.html原文链接:https

    2.2K10

    SQL Server通过创建临时遍历更新数据

    (线上数据库用是SQL Server2012)关于数据统计汇总的问题肯定会用到遍历统计汇总,那么问题来了数据库中如何遍历呢?...好像并没有for和foreach这种类型的功能呀,不过关于数据库遍历最常见的方法当然是大家经常会想到的游标啦,但是这次我并没有使用游标,而是通过创建临时的方式来更新遍历数据的。...为什么不使用游标,而使用创建临时?   ...通过创建临时遍历更新数据: 注意:这里只是一个简单的临时更新实例。 我的目的是把TalkingSkillType中的Sort值更新成为与Id一样的值! 未更新前的数据如下图所示: ?...临时遍历更新SQL语句: ----SQL SERVER通过临时遍历数据 -- 判断是否存在(object(‘objectname’,‘type’)) IF OBJECT_ID('tempdb.dbo

    2.2K20
    领券