spark连接mysql的方式_spark连接mysql的几种方式

该博客介绍了如何使用Spark连接到MySQL数据库的三种不同方式。首先通过`SparkSession.read.jdbc`方法,设置属性读取数据;其次,利用Map存储配置信息加载数据;最后,使用DataFrameReader的选项方法加载数据。每种方法都展示了读取数据并显示前几行的示例。
摘要由CSDN通过智能技术生成

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)

}

}

原文:https://www.cnblogs.com/-courage/p/13884890.html

要使用Spark连接MySQL,需要执行以下步骤: 1. 首先,需要下载并安装MySQL的JDBC驱动程序。可以从MySQL官方网站或Maven中央存储库下载。 2. 在Spark应用程序中,可以使用以下代码来启动SparkSession并连接MySQL数据库: ```scala import org.apache.spark.sql._ val spark = SparkSession.builder .appName("Spark SQL MySQL Example") .config("spark.some.config.option", "some-value") .getOrCreate() val jdbcDF = spark.read .format("jdbc") .option("url", "jdbc:mysql://localhost:3306/mydatabase") .option("dbtable", "mytable") .option("user", "myusername") .option("password", "mypassword") .load() jdbcDF.show() ``` 这里使用了Spark SQL的JDBC数据源来连接MySQL数据库。需要指定MySQL数据库的URL、表名、用户名和密码来读取数据。读取数据后,可以使用`show()`方法来显示数据。 3. 如果要将数据写入MySQL数据库,则可以使用以下代码: ```scala jdbcDF.write .format("jdbc") .option("url", "jdbc:mysql://localhost:3306/mydatabase") .option("dbtable", "mytable") .option("user", "myusername") .option("password", "mypassword") .mode("overwrite") .save() ``` 这里使用了Spark SQL的JDBC数据源来将数据写入MySQL数据库。需要指定MySQL数据库的URL、表名、用户名和密码,并使用`mode()`方法指定写入模式(覆盖或追加)。 注意:在将数据写入MySQL数据库之前,需要确保MySQL数据库中已经存在指定的表。如果不存在,则需要先创建表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值