怎么实现Spark SchemaRDD隐式转换
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,今天就跟大家聊聊有关怎么实现Spark SchemaRDD隐式转换,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。SchemaRDD在Spark
千家信息网最后更新 2025年02月01日怎么实现Spark SchemaRDD隐式转换
今天就跟大家聊聊有关怎么实现Spark SchemaRDD隐式转换,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
SchemaRDD在Spark SQL中已经被我们使用到,这篇文章简单地介绍一下如果将标准的RDD(org.apache.spark.rdd.RDD)转换成SchemaRDD,并进行SQL相关的操作。
01 /** 这是因为people是普通的RDD,而registerTempTable函数不属于RDD类,只有通过SchemaRDD的实例才可以调用,所以这么调用会出现错误,解决办法有两个:
(1)registerTempTable函数是SQLContext类中的,所以我们可以将people转换成SchemaRDD,如下:
02 * User: 过往记忆03 * Date: 14-12-1604 * Time: 下午10:1605 * bolg: http://www.iteblog.com06 * 本文地址:http://www.iteblog.com/archives/122407 * 过往记忆博客,专注于hadoop、hive、spark、shark、flume的技术博客,大量的干货08 * 过往记忆博客微信公共帐号:iteblog_hadoop09 */10 scala> val peopleSchema =sqlContext.createSchemaRDD(people)11 peopleSchema:org.apache.spark.sql.SchemaRDD =12 SchemaRDD[29] at RDD at SchemaRDD.scala:10313 ==Query Plan ==14 ==Physical Plan ==15 ExistingRdd [name#4,age#5], MapPartitionsRDD[28] at16 mapPartitions at basicOperators.scala:21717 18 scala> peopleSchema.registerTempTable("people")19 warning:there were 1deprecation warning(s); re-run with-deprecation fordetails
这么调用就可以将people转成SchemaRDD。
(2)、上面的方法是通过显示地调用sqlContext.createSchemaRDD将普通的RDD转成SchemaRDD。其实我们还可以通过Scala的隐式语法来进行转换。我们先来看看createSchemaRDD函数的定义
1 /**2 * Creates a SchemaRDD from an RDD of case classes.3 *4 * @group userf5 */6 implicitdefcreateSchemaRDD[A <:Product:TypeTag](rdd:RDD[A]) ={7 SparkPlan.currentContext.set(self)8 newSchemaRDD(this, SparkLogicalPlan(ExistingRdd.fromProductRdd(rdd))(self))9 }
在定义createSchemaRDD的时候用到了implicit 关键字,所以我们在使用的时候可以通过下面语句使用
1 scala> import sqlContext.createSchemaRDD2 import sqlContext.createSchemaRDD3 4 scala> people.registerAsTable("people")5 warning:there were 1deprecation warning(s); re-run with-deprecation fordetails
这样就隐身地将people转换成SchemaRDD了。这是因为Spark可以隐式地将包含case class的RDD转换成SchemaRDD。
看完上述内容,你们对怎么实现Spark SchemaRDD隐式转换有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
内容
函数
博客
记忆
过往
普通
可以通过
时候
篇文章
这是
两个
关键
关键字
办法
只有
地址
实例
干货
技术
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
MySQL 数据库 移位置
万名小学生参与网络安全宣讲
穿越火线的服务器密码
徐汇区品质数据库收费标准
数据库 小抄
数据库及的安全管理
大专生的论文会存到国家数据库吗
直播教学软件开发
华为pad 远程连接服务器
基本农田划定数据库规范
qtp连接数据库
ebsco数据库包括什么
上海信息软件开发市场
吉林行业软件开发
数据库中删除的语法是什么
我的测试数据库怎么创建
咸宁专业的软件开发
网络安全攻防大赛 官网
微信二维码软件开发
fis服务器
计算机网络技术数据结构
自己学习软件开发
钓鱼网站数据库
软件开发研究范畴
数据库应用技术第二版实验四
建立软件开发规范
网络安全知识培训记录
传奇服务器列表打不开
网络安全工程师证书有效期
ei数据库收录年份