一、代码
package com.sgcc.hj import java.sql.DriverManager import org.apache.spark.rdd.JdbcRDD import org.apache.spark.{SparkConf, SparkContext} object JdbcTest { def main(args: Array[String]) { val conf = new SparkConf() val sc = new SparkContext(conf) val rdd = new JdbcRDD( sc, () => { Class.forName("oracle.jdbc.driver.OracleDriver").newInstance() DriverManager.getConnection("jdbc:oracle:thin:@172.16.222.112:1521:pms", "scyw", "scyw") }, "SELECT * FROM MW_APP.CMST_AIRPRESSURE WHERE 1 = ? AND rownum < ?", 1, 10, 1, r => (r.getString(1),r.getString(2),r.getString(5))) rdd.collect().foreach(println) sc.stop() } }
二、运行截图
命令:spark-submit --master yarn --jars /opt/test/data/oracle.jdbc_10.2.0.jar --name OracleRead --class com.sgcc.hj.JdbcTest--executor-memory 1G /opt/test/data/sparktest.jar(注意这里依赖了oracle的jar包要在加上)
三、答疑
1、官方文档地址:
https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.rdd.JdbcRDD
2、JdbcRdd中的构造参数:
前面三个就不解释了,一眼就可以看懂,后面三个数字,前两个表示SQL中的参数,必须是LONG型,而且必须有,这个是Spark源码要求的,如果没有LONG型的条件,可以使用1=1这种参数(第三个参数要为1);第三个参数表示分区查询,例如给定前两个参数为1和20,第三个参数为2,那么SQL就会执行两次,第一次参数为(1, 10),第二次为(11, 20);最后一个参数是函数,这里表示把一条记录里的第1、2、5个字段组成三元组,当然也可以变成别的形式。
相关推荐
列举了常用的oracle数据库操作指令 适合oracle入门级人物
Scala和Spark大数据分析函数式编程、数据流和机器学习
包中构建了Java以及Scala混合框架的maven打包框架以及关于spark core,spark sql 、spark streaming的一些典型案例或者算子使用。
Spark.sql数据库部分的内容
SparkMLlibALS推荐算法_Scala_下载.zip
scala连接mysql数据库 scala 通过 jdbc 连接 mysql
采用ARIMA模型(自回归积分滑动平均模型)+三次指数平滑法(Holt-Winters),用scala语言实现的在spark平台运行的分布式时间序列预测算法
csv文件用java太麻烦了,spark很简单,简单到怀疑人生
基于Spark1.6,使用Spark SQL框架和sqlite数据库,把唐诗三百首,宋诗三百首和元明清诗精选导入数据库,可以按来源,体裁及作者,方便地查出诗句或试题中包含某个关键字的作品,还可以在选中作品后,进行五绝,七绝...
对于想学习 Spark 的人而言,如何构建 Spark 集群是其最大的难点之一, 为了解决大家构建 Spark 集群的一切困难,Spark 集群的构建分为了五个步骤,从 零起步,不需要任何前置知识,涵盖操作的每一个细节,构建完整...
本方案集成了CentOS环境下的Spark、Hadoop、Hive、Scala、sbt和ZooKeeper,无需考虑版本兼容问题,可以直接用于大数据处理和分析。 【适合人群】 需要在CentOS下搭建大数据处理平台的工程师。 【包含内容】 - Spark ...
scala是一种基于JVM的面向对象的函数编程,scala编程相对于java而言代码整洁、开发效率更高。 其中scala优点主要有: 1:面向对象,可以定义class,通过new调用实例...5:目前比较流行的kafka,spark均由scala开发。
本项目是基于Apache Spark开发的分布式数据处理Scala设计源码,主要使用Scala进行开发。项目共包含25个文件,其中Scala源代码文件10个,XML配置文件9个,文本文件3个,Git忽略配置文件2个,以及Properties配置文件1...
spark框架是采用Scala语言编写的,精致而优雅,要想成为spark高手,你就必须阅读spark的源代码,就必须掌握Scala.....
这是一个简单实用的scala集成mybatis数据库查询代码,简单明了
Scala and Spark for Big Data Analytics by Md. Rezaul Karim English | 25 July 2017 | ISBN: 1785280848 | ASIN: B072J4L8FQ | 898 Pages | AZW3 | 20.56 MB Harness the power of Scala to program Spark and ...
学习Spark技术相关文档,包括Scala由浅入深,及Spark详细介绍实践等文档,主要都是文字版,对大数据感兴趣的应该不会失望,包含Scala in Action; Learning Spark; Scala in Depth;Scala for the Impatient;Spark快速...
最新版本的scala-2.11.8与Spark2.1.0环境搭建
spark 框架word count scala源文件 spark 框架word count scala源文件spark 框架word count scala源文件spark 框架word count scala源文件spark 框架word count scala源文件
原始用的jetty做的http接口,最近有时间,研究了下spring boot + scala + spark做大数据计算