怎么把spark的数据存到mysql
时间: 2023-10-08 12:09:32 浏览: 40
可以通过以下步骤将 Spark 数据存储到 MySQL 数据库中:
1. 首先,我们需要使用 JDBC 驱动程序来连接 MySQL 数据库。可以从 Maven 中央存储库下载 MySQL JDBC 驱动程序。
2. 在 Spark 应用程序中,使用 SparkSession 创建一个 DataFrame,并将其转换为一个 RDD。
3. 将 RDD 转换为一个 DataFrame,并使用 JDBC API 将其写入 MySQL 数据库。
下面是一个示例代码:
```scala
import org.apache.spark.sql.{Row, SparkSession}
import java.util.Properties
object SparkToMySQL {
case class Person(name: String, age: Int)
def main(args: Array[String]) {
val spark = SparkSession.builder.appName("SparkToMySQL").getOrCreate()
val props = new Properties()
props.setProperty("user", "root")
props.setProperty("password", "password")
val jdbcUrl = "jdbc:mysql://localhost:3306/test"
val data = Seq(Person("Alice", 25), Person("Bob", 30), Person("Charlie", 35))
val rdd = spark.sparkContext.parallelize(data)
val df = spark.createDataFrame(rdd)
df.write.jdbc(jdbcUrl, "person", props)
spark.stop()
}
}
```
在此示例中,我们首先创建一个 SparkSession 对象,然后使用 Properties 对象来设置 MySQL 数据库的用户名和密码。接着,我们将数据转换为 DataFrame,并使用 `write.jdbc()` 方法将其写入 MySQL 数据库。最后,我们停止 SparkSession。
注意,这只是一个简单的示例,实际上可能需要进行更多的配置和优化,例如设置连接池大小、批量插入等。