[spark] dataframe的数据导入Mysql5.6

在 Spark 项目中使用 Scala 连接 MySQL 5.6 并将 DataFrame 中的数据保存到 MySQL 中的步骤如下:

  1. 添加 MySQL 连接驱动依赖:
    在 Spark 项目中,你需要在项目的构建工具中添加 MySQL 连接驱动的依赖。

    如果使用 Maven,可以在 pom.xml 文件中添加以下行:

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.48</version>
    </dependency>
    

    然后,确保重新构建项目以获取新的依赖。

  2. 连接 MySQL 并读取数据到 DataFrame:
    使用 SparkSession 来连接 MySQL 并读取数据到 DataFrame。以下是一个简单的示例:

    import org.apache.spark.sql.{
         SparkSession, SaveMode}
    
    val spark = SparkSession.builder
      .appName("Spark MySQL Example")
      .master("local")
      .getOrCreate()
    
    // MySQL 连接信息
    val jdbcUrl = "jdbc:mysql://your_mysql_host:3306/your_database"
    val connectionProperties = new java.util.Properties()
    connectionProperties.put("user", "your_username")
    connectionProperties.put("password", "your_password")
    connectionProperties.put("driver", "com.mysql.jdbc.Driver")
    connectionProperties.put("characterEncoding", "UTF-8")
    
    
    // 读取 MySQL 数据到 DataFrame
    val df = spark.read.jdbc(jdbcUrl, "your_table_name", connectionProperties)
    
    // 显示 DataFrame 数据
    df.show()
    
    // 关闭 SparkSession
    spark.stop()
    

    请替换以下内容:

    • your_mysql_host:MySQL 主机地址
    • your_database:数据库名称
    • your_username:MySQL 用户名
    • your_password:MySQL 密码
    • your_table_name:要读取的表名
  3. 将 DataFrame 中的数据保存到 MySQL:
    使用 write.jdbc 将 DataFrame 中的数据保存到 MySQL。以下是一个示例:

    // 将 DataFrame 写入 MySQL(Overwrite 模式,可以根据需求选择其他模式)
    df.write
      .mode(SaveMode.Overwrite)
      .jdbc(jdbcUrl, "your_table_name", connectionProperties)
    

    请根据你的需求调整保存模式和表名。

这样,你就可以在 Spark 项目中使用 Scala 连接 MySQL 5.6 并进行数据的读取和写入。

相关推荐

  1. MySQL导入/导出数据

    2023-12-29 07:16:06       20 阅读
  2. mysql数据导出导入

    2023-12-29 07:16:06       21 阅读
  3. mysql导入导出

    2023-12-29 07:16:06       10 阅读
  4. mysql(50) : 数据导出为csv

    2023-12-29 07:16:06       39 阅读
  5. MySQL 导入数据

    2023-12-29 07:16:06       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-29 07:16:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-29 07:16:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-29 07:16:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-29 07:16:06       18 阅读

热门阅读

  1. 如何使用 PyTorch 训练 LLM

    2023-12-29 07:16:06       35 阅读
  2. springboot +vue 集成websocket

    2023-12-29 07:16:06       29 阅读
  3. Kotlin版 自定义的LiveDataBus

    2023-12-29 07:16:06       30 阅读
  4. 构造哈夫曼树(数据结构实训)(难度系数85)

    2023-12-29 07:16:06       32 阅读
  5. 【浏览器】Web存储梳理和总结

    2023-12-29 07:16:06       34 阅读
  6. 《C#程序设计教程》总复习

    2023-12-29 07:16:06       29 阅读
  7. Vue2面试题:说一下v-show、v-if、v-for的理解?

    2023-12-29 07:16:06       32 阅读
  8. Latex如何转成Word

    2023-12-29 07:16:06       33 阅读
  9. stm32采用队列方式接收和发送RS485串口数据

    2023-12-29 07:16:06       32 阅读
  10. 第41节: Vue3 watch函数

    2023-12-29 07:16:06       41 阅读