用JdbcRDD方式读MySQL数据
咱们先来看下他的源码 主要看下它的参数:
下面是对参数的解释:
sc: SparkContext, // 这个是上下文的环境对象
getConnection: () => Connection, //这里是个无参函数 返回Connection
sql: String, // 这个是自己写的sql
lowerBound: Long, // 指的是数据的范围 数据上限
upperBound: Long, // 指的是数据的范围 数据下限
numPartitions: Int, // 分区的数量
mapRow: (ResultSet) => T = JdbcRDD.resultSetToObjectArray _) // 回调方法 当你的查询结果集回来后 你怎么样对他操作处理
下面是具体代码和解释:
package xxx
import java.sql.DriverManager
import org.apache.spark.rdd.JdbcRDD
import org.apache.spark.{SparkConf, SparkContext}
object MysqlDemo {
def main(args: Array[String]): Unit = {
// 创建Spark配置对象
val conf = new SparkConf().setAppName(this.getClass.getSimpleName.filter(!_.equals('$'