当前位置: 首页 > article >正文

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

实现代码

excel所需的pom依赖 

案例实现 


实现代码

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依赖 

        <dependency>
            <groupId>com.crealytics</groupId>
            <artifactId>spark-excel_2.12</artifactId>
            <version>0.13.7</version>
        </dependency>

案例实现 

        准备的excel表: 

        放在路径下面: 

 

 执行代码:

 在mysql中查看:

 


http://www.kler.cn/a/150158.html

相关文章:

  • DCRNN解读(论文+代码)
  • 【Qt】使用Qt发送http请求封装一个通用类
  • 2022 NOIP 题解
  • Redis 初学者指南
  • SQL拦截(二)InnerInterceptor
  • 使用JdbcTemplate 进行数据库的增、删、改、查
  • 亚马逊云科技基于 Polygon 推出首款 Amazon Managed Blockchain Access,助 Web3 开发人员降低区块链节点运行成本
  • springboot(ssm文学名著分享系统 文化交流平台Java(codeLW)
  • 【brew】Mac上安装vue3
  • 【数据挖掘】国科大刘莹老师数据挖掘课程作业 —— 第二次作业
  • Linux的基本指令(3)
  • 初识Dockerfile
  • 3dMax导出glft和glb格式模型插件Max2Babylon教程
  • 针对net core 使用CSRedis 操作redis的三种连接实例方式
  • Typescript中 interface 和 type 的区别是什么?
  • 后端Java日常实习生面试(七牛云2023年11月14日)
  • php通过curl方式发送接受xml数据
  • HarmonyOS入门开发(三) 持久化存储Preferences
  • day65 django回顾3
  • WordPress 粘贴图片上传插件
  • pytorch 多卡并行训练
  • 【Qt之QFileInfo】使用
  • Redis 事件轮询
  • HarmonyOS(七)——@BuilderParam装饰器
  • Flink-时间窗口
  • 解决electron-builder打包不成功只能输出tgz文件的问题