首页 理论教育 其他RDD的创建方法

其他RDD的创建方法

时间:2023-06-29 理论教育 版权反馈
【摘要】:基于DB创建RDD、基于S3创建RDD,或基于数据流创建RDD等是比较常见的创建初始化RDD的方式。接下来的一个创建RDD的案例,是从MySQL关系型数据库中读取数据,最终得到RDD类型的数据。结合上述的两段代码可知,Spark的JdbcRDD最终链接MySQL数据库并读取数据,并最终生成RDD。

其他RDD的创建方法

基于DB创建RDD、基于S3(S3是一个公开的、云存储服务,Web应用程序开发人员可以使用它存储数字资产,包括图片、视频、音乐和文档)创建RDD,或基于数据流创建RDD等是比较常见的创建初始化RDD的方式。接下来的一个创建RDD的案例,是从MySQL关系型数据库中读取数据,最终得到RDD类型的数据。在Spark中提供了一个Jdb-cRDD的类,这个JdbcRDD执行一个SQL查询和JDBC链接读取结果,也就是说该RDD就是读取JDBC中的数据并转换成RDD。

首先来看看该类的构造函数,源代码如下。

这个类带了很多参数,上述源代码处已给出解释。接下来是一段从MySQL中读取数据创建RDD的代码示例,代码如下。(www.xing528.com)

上述代码用于读取MySQL中test表中的数据,并统计ID大于等于1且小于等于100的记录集合,得到结果集变量rddResult,从代码中可以看出,JdbcRDD的sql参数带有两个?的占位符,而这两个占位符是参数lowerBound和参数upperBound定义where语句的上下边界,从JdbcRDD类的构造函数可知,参数lowerBound和参数upperBound都只能是Long类型的,并不支持其他类型的比较,这个使得JdbcRDD使用的函数将比较有限。结合上述的两段代码可知,Spark的JdbcRDD最终链接MySQL数据库并读取数据,并最终生成RDD。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈