首页 > 代码库 > Spark JdbcRDD 简单使用
Spark JdbcRDD 简单使用
package org.apache.spark.sql.sourcesimport org.apache.spark.SparkContextimport java.sql.{ResultSet, DriverManager}import org.apache.spark.rdd.JdbcRDD/** * @author luogankun * Created by spark on 14-12-25. */object JdbcTest extends App{ val sc = new SparkContext("local[2]", "demo") def getConnection() = { Class.forName("com.mysql.jdbc.Driver").newInstance() DriverManager.getConnection("jdbc:mysql://hadoop000:3306/hive", "root", "root") } def flatValue(result: ResultSet) = { (result.getInt("TBL_ID"), result.getString("TBL_NAME")) } //select * from TBLS WHERE TBL_ID>=1 AND TBL_ID<=10 val data = http://www.mamicode.com/new JdbcRDD( sc, getConnection, "select * from TBLS where TBL_ID >= ? and TBL_ID <= ?", 1, 10, 2, flatValue ) println(data.collect().toList) sc.stop}
执行报错:
查看JdbcRDD代码发现,sql语句一定要带上2个条件:
这个使用起来不太方便,最近需要找时间将JdbcRDD优化下,以便后续更方便的在jdbc external data source中能使用JdbcRDD。
Spark JdbcRDD 简单使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。