spark连接mysql的几种方式
import java.util.Properties import org.apache.spark.sql.{DataFrameReader, SparkSession} object testMysql2 { def main(args: Array[String]): Unit = { //创建sparkSession val spark = SparkSession.builder() .appName("MysqlSupport") .master("local") // .master("spark://ip:7077") .config("spark.executor.memory", "512m") .getOrCreate() val tm = new testMysql2() tm.method1(spark) //method2(spark) //method3(spark) spark.stop() } } class testMysql2 { def method1 (sparkSession: SparkSession): Unit ={ val properties = new Properties() properties.setProperty("user", "root") properties.setProperty("password" ,"123456") val test = sparkSession.read.jdbc("jdbc:mysql://ip/test?useUnicode=true&characterEncoding=utf8&useSSL=false","company_category_code",properties) test.show() } def method2(spark: SparkSession): Unit = { val url = "jdbc:mysql://ip/test?useUnicode=true&characterEncoding=utf8&useSSL=false" val map: Map[String, String] = Map[String, String]( elems = "url" -> url, "driver" -> "com.mysql.jdbc.Driver", "user" -> "root", "password" -> "123456", "dbtable" -> "crm_company" ) val cm = spark.read.format("jdbc").options(map).load println("method2: cm show") cm.show(2) } def method3(spark: SparkSession): Unit = { val url = "jdbc:mysql://ip/test?useUnicode=true&characterEncoding=utf8&useSSL=false" val reader: DataFrameReader = spark.read.format("jdbc") .option("url", url) .option("driver", "com.mysql.jdbc.Driver") .option("user", "root") .option("password", "123456") .option("dbtable", "crm_company") val cm = reader.load() println("method3: cm show") cm.show(3) } }
posted on 2020-10-27 14:58 RICH-ATONE 阅读(702) 评论(0) 编辑 收藏 举报