日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

rdd与mysql表 join_6、JdbcRDD读取mysql的数据

發(fā)布時(shí)間:2023/11/27 生活经验 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rdd与mysql表 join_6、JdbcRDD读取mysql的数据 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

其實(shí)在Spark-Core中也可以向Java一樣讀取數(shù)據(jù)庫(kù)的信息,Spark的JdbcRDD就可以實(shí)現(xiàn)這種功能, 它可以將數(shù)據(jù)加載到RDD中,然后再按照RDD中的方法進(jìn)行處理,比如:sortBy,join,fielter等等。

#代碼如下: -------------------------------------------------------------------------------- package com.liufu.org.core

import java.sql.DriverManager

import org.apache.spark.rdd.JdbcRDD

import org.apache.spark.{SparkConf, SparkContext}

/**

* Created by liufu on 2016/11/18.

*/

object JdbcRDDTest {

def main(args: Array[String]): Unit = {

val conf: SparkConf = new SparkConf().setAppName("jdbcRDD").setMaster("local[2]")

val sc: SparkContext = new SparkContext(conf)

//定義一個(gè)連接函數(shù),后面需要傳入給JdbcRDD的主構(gòu)造器中。

val connection = ()=>{

Class.forName("com.mysql.jdbc.Driver").newInstance()

DriverManager.getConnection("jdbc:mysql://localhost:3306/bigdata","root","815325")

}

val resultRDD = new JdbcRDD(

sc, //SparkContext

connection, //連接數(shù)據(jù)庫(kù)的函數(shù)

"select * from dept where deptno >= ? and deptno <= ?",20,40, //SQL語(yǔ)句,后面兩個(gè)是SQL語(yǔ)句中需要填入的參數(shù),就算不需要填寫參數(shù),也要補(bǔ)全

2, //本次操作的結(jié)果,分為多少個(gè)區(qū)。

r => { //將結(jié)果循環(huán)遍歷,然后組裝成tuple返回,當(dāng)然也可以組裝成String等類型。

(r.getString(1),r.getString(2))

}

)

println(resultRDD.collect().toBuffer)

sc.stop()

}

}

--------------------------------------------------------------------------------

#總結(jié): 主要是那個(gè)JdbcRDD的參數(shù)如何設(shè)置

總結(jié)

以上是生活随笔為你收集整理的rdd与mysql表 join_6、JdbcRDD读取mysql的数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。