1.连接本地数据库
package sparkSQL
import java.sql.DriverManager
import org.apache.spark.rdd.JdbcRDD
import org.apache.spark.{SparkConf, SparkContext}
object JDBCSQL {
def main(args: Array[String]): Unit = {
val sconn=new SparkConf().setAppName("SQL").setMaster("local[*]")
val sc=new SparkContext(sconn)
val jdbcUrl = "jdbc:mysql://localhost:3306/jingdong?useUnicode=true&characterEncoding=utf8"
val user = "root"
val password = "wo123456"
val conn = () => {
Class.forName("com.mysql.jdbc.Driver").newInstance()
DriverManager.getConnection(jdbcUrl, user, password)
}
val sql = "select * from product where pid between ? and ? "
val jdbcRDD: JdbcRDD[(Int, String)] = new JdbcRDD(sc, conn, sql, 0, 30, 3,
res => {
val id = res.getInt("pid")
val makeName = res.getString("pname")
(id, makeName)
}
)
println(jdbcRDD.collect().toBuffer)
sc.stop()
}
}
package s |