栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Spark学习:如何创建DataFrame?

Spark学习:如何创建DataFrame?

一、从RBDMS(关系型数据库)创建Dataframe
1、spark安装目录没有提供与数据库连接相关的Jar包,因此,对于想访问的数据库,需要把相关的Jar包拷贝到SPARK_HOME的Jars文件夹,在此贴上我的配置
spark:3.1.2
oracle:Personal Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
jar:ojdbc6.jar
2、使用spark的read API读取数据库,通过参数指定数据库驱动、数据库地址、用户名、密码等关键信息
eg:以Oracle数据库为例
spark.read.format(“jdbc”)
.option(“driver”, “oracle.jdbc.driver.OracleDriver”)
.option(“url”, “jdbc:oracle:thin:@localhost:1521:orcl”)
.option(“user”, “用户名”)
.option(“password”,“密码”)
.option(“numPartitions”, 20)
.option(“dbtable”, "数据表名 ")
.load()

import org.apache.spark.sql.Dataframe
val dfOralce:Dataframe = spark.read.format("jdbc").option("driver", "oracle.jdbc.driver.OracleDriver").option("url", "jdbc:oracle:thin:@10.10.189.180:1521:orcl").option("user", "scott").option("password","scott").option("numPartitions", 20).option("dbtable", "EMP").load()
dfOracle.show

然后展示如下图所示

3、对oracle数据库进行简单操作
1)使用Spark Sql算子

val filterdfOracle:Dataframe = dfOracle.filter("SAL" >= "10000").select("ENAME","JOB")
filterdfOracle.show

结果如下图所示

2)使用sql语句

dfOracle.createTempView("t")
val query:String = "select t.ename,t.job from t where t.sal >= 1000"
val result:Dataframe = spark.sql(query)
result.show

展示的结果和第一种通过spark sql算子的一样

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/710241.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号