Spark将execl表格文件导入到mysql中

实现代码

excel所需的pom依赖

案例实现


实现代码

Scala 复制代码
package excel_mysql

import org.apache.spark.sql.SparkSession
import java.util.Properties

object t1 {
  def main(args: Array[String]): Unit = {
    val spark = SparkSession.builder()
      .appName("ExcelToMySQL") //项目名
      .master("local[*]")
      .getOrCreate()

    // 读取Excel表
    val df = spark.read
      .format("com.crealytics.spark.excel") //需要的包
      .option("header", "true")
      .load("file:///D:\\sparks\\src\\main\\datas\\d.xlsx") //本地excel文件路径

    // 创建MySQL连接配置
    val jdbcHostname = "192.168.10.137" //连接主机ip
    val jdbcPort = 3306 //端口
    val jdbcDatabase = "test" //数据库名
    val jdbcUsername = "root" //用户名
    val jdbcPassword = "123456" //mysql密码
    val jdbcUrl = s"jdbc:mysql://${jdbcHostname}:${jdbcPort}/${jdbcDatabase}"
    val connectionProperties = new Properties()
    connectionProperties.put("user", s"${jdbcUsername}")
    connectionProperties.put("password", s"${jdbcPassword}")

    // 将DataFrame写入MySQL表中
    df.write
      .mode("overwrite")
      .jdbc(jdbcUrl, "user_info", connectionProperties) //导入目标的mysql数据库下的表名
    spark.stop()
  }
}

excel所需的pom依赖

Scala 复制代码
        <dependency>
            <groupId>com.crealytics</groupId>
            <artifactId>spark-excel_2.12</artifactId>
            <version>0.13.7</version>
        </dependency>

案例实现

准备的excel表:

放在路径下面:

执行代码:

在mysql中查看:

相关推荐
大大大大晴天3 天前
Hudi Metadata Table 与 Hive Sync (HMS)怎么选?
大数据
唐青枫3 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
手可摘星辰7773 天前
一次线上FlinkCDC异常排查复盘
大数据·flink
小满8783 天前
5.Mysql事务隔离级别与锁机制
mysql
大大大大晴天3 天前
Hudi技术内幕:Metadata Table原理与实践
大数据
元Y亨H4 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
大大大大晴天4 天前
Hudi技术内幕:深入解析Index索引机制
大数据
阿里云大数据AI技术4 天前
Flink Forward Asia 2026 深圳启幕:Agentic Streaming for AI,开启实时智能新范式
大数据·flink
SelectDB5 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶5 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构