spark java jdbcrdd_SparkSQL 使用jdbcRDD访问数据库

mysql中有一个数据库为luciusdb,其中有一张表people,有8条数据。

c4fbb200af8fba555ad1ec8410ed78eb.png

1、如果采用spark-shell来访问数据库,可以像下面那样在启动spark-shell时在命令之前加上“SPARK_CLASSPATH=驱动包”来 导入数据库驱动:

SPARK_CLASSPATH=/opt/spark-1.3.0/lib/mysql-connector-java-5.1.35.jar bin/spark-shell

2、如果采用IDEA, 也需要导入包:

5a1589a5d4e21a4ff91af31c52668bbd.png

代码如下:

Java Code

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

import

java.sql.DriverManager

import

org.apache.spark.rdd.JdbcRDD

import

org.apache.spark.{SparkContext}

object HiSpark {

def

main (args: Array[

String

]) {

val sc =

new

SparkContext(

"local"

,

"mysql"

)

val rdd =

new

JdbcRDD(

sc,

() => {

Class.forName(

"com.mysql.jdbc.Driver"

).newInstance()

DriverManager.getConnection(

"jdbc:mysql://192.168.70.135:3306/luciusdb"

,

"root"

,

"123456"

)

},

"SELECT * FROM people where id>=? and id <=?"

,

1

,

4

,

2

,

r =>r.getString(

3

) +

" "

+ r.getString(

1

) +

" "

+r.getString(

2

)

)

rdd.foreach(println)

}

}

查到的数据如下:

41b436478684aeb28ed6632aef7f2c74.png

相关参数说明:

262969c6d6e62afdde2427589d1b4739.png

参考网址:

http://www.iteblog.com/archives/1113

http://spark.apache.org/docs/1.3.0/sql-programming-guide.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值