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中查看:

相关推荐
被摘下的星星22 分钟前
MySQL count()函数的用法
数据库·mysql
素玥1 小时前
实训5 python连接mysql数据库
数据库·python·mysql
黎阳之光2 小时前
黎阳之光:以视频孪生领跑全球,赋能数字孪生水利智能监测新征程
大数据·人工智能·算法·安全·数字孪生
有想法的py工程师2 小时前
PostgreSQL 分区表排序优化:Append Sort 优化为 Merge Append
大数据·数据库·postgresql
喵了几个咪2 小时前
如何在 Superset Docker 容器中安装 MySQL 驱动
mysql·docker·容器·superset
Chasing__Dreams3 小时前
Mysql--基础知识点--95--为什么避免使用长事务
数据库·mysql
safestar20123 小时前
ES批量写入性能调优:BulkProcessor 参数详解与实战案例
java·大数据·运维·jenkins
weixin_156241575763 小时前
基于YOLOv8深度学习花卉识别系统摄像头实时图片文件夹多图片等另有其他的识别系统可二开
大数据·人工智能·python·深度学习·yolo
科技与数码3 小时前
互联网保险迎来新篇章,元保方锐分享行业发展前沿洞察
大数据·人工智能
汽车仪器仪表相关领域4 小时前
NHFID-1000型非甲烷总烃分析仪:技术破局,重构固定污染源监测新体验
java·大数据·网络·人工智能·单元测试·可用性测试·安全性测试