spark写数据到mysql简便方法

  1. 首先需要准备导入mysql的df,
  val res = userAction.join(buygoods,Seq("cust_id","good_id"),"left").join(users,Seq("cust_id"))
      .join(goods,Seq("good_id"))
      .na.fill(Map("buy_time"->"190001","buynum"->"0","count_price"->"0"))
  1. 执行以下指令,overwirte全量,append增量。
    无需建表,但需要选择在mysql中存在的数据库

myex 是mysql中选择的数据库
spark_dm1是需要导入的表名,自动生成。

    //无需建表
    res.write.mode("overwrite")
      .format("jdbc")
      .option("url","jdbc:mysql://192.168.56.21:3306/myex")
      .option("dbtable","spark_dm1")
      .option("user","root")
      .option("password","ok").save()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤将 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。 注意,这只是一个简单的示例,实际上可能需要进行更多的配置和优化,例如设置连接池大小、批量插入等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值