pyspark中使用mysql jdbc报错java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决

报错信息:

py4j.protocol.Py4JJavaError: An error occurred while calling o33.load.
: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

我的解决方法:
这个报错就是提示你找不到jar包,所以你需要去下载一个和你mysql版本匹配的jdbc connector包,下载地址:https://downloads.mysql.com/archives/c-j/
我的mysql最开始是8.0.36,发现没有这个jar包所以就卸载了这个mysql然后重装了8.0.33,安装教程https://blog.csdn.net/qq_42108074/article/details/134767511
都安装完成后,将jar包拖进你spark路径/jars目录下就开始解决这个报错

方法一:(这个方法只针对pyspark,我不清楚对后面全局是否有影响)

在运行pyspark时主动加上你的jar包,我的jar包目录是/usr/local/spark/jars/mysql-connector-java-8.0.33/mysql-connector-j.8.0.33.jar
所以我运行pyspark命令如下:

./bin/pyspark --jars "/usr/local/spark/jars/mysql-connector-java-8.0.33/mysql-connector-j-8.0.33.jar"

在这里插入图片描述
测试代码:
要先在mysql中添加数据库和表,再运行下面这个代码

>>> jdbcDF=spark.read.format("jdbc").option("driver","com.mysql.cj.jdbc.Driver").option("url","jdbc:mysql://localhost:3306/spark").option("dbtable","student").option("user","root").option("password","你的密码").load()
>>> jdbcDF.show()

运行结果:
在这里插入图片描述
我认为这个方法是局部的,也就是你每次打开都要加上jar包,但是具体不知道对全局有没有用,可以测试一下

方法二:(应该是全局有效的)改名字

直接将你的jdbc connector里面的jar文件放在spark路径/jars下面,原来的jar包名称是mysql-connector-j-8.0.33.jar,我把他改成了mysql-connector-java-8.0.33.jar,然后就可以了:
在这里插入图片描述
复制到jars目录下去:
在这里插入图片描述
就可以了,修改后运行一下代码,测试一下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/848666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智慧园区智能化系统整体解决方案(111页PPT)

方案介绍: 智慧园区智能化系统整体解决方案是一个综合性的管理平台,它通过集成视频、报警、园区一卡通、产线管理、能耗管理、公共广播、信息发布等多种系统,实现园区的全方位智能化管理。该系统以基础管理平台为系统基础,提供系…

实验五、IPv4地址的子网划分,第1部分《计算机网络》

但凡你有点本事,也不至于一点本事都没有。 目录 一、实验目的 二、实验内容 三、实验小结 一、实验目的 完成本练习之后,您应该能够确定给定 IP 地址和网络掩码 的网络信息。本练习旨在让您掌握如何根据给定 IP 地址计算网络 IP 地址信息。 二、实验…

Python怎么把数据从CSV文件导入到MySQL数据库?

Python怎么把数据从CSV文件导入到MySQL数据库? 在数据处理和存储的过程中,我们经常需要将数据从CSV文件导入到MySQL数据库中。Python作为一种强大的编程语言,提供了多种工具和库来帮助我们完成这项任务。然而,对于初学者来说&…

【AI】DeepStream(09):deepstream-app源码详解

【AI】AI学习目录汇总 上一篇【AI】DeepStream(08):deepstream-app-示例演示 1、命令行参数解析 1)定义命令行参数 两个重要的命令行参数,-c 和 -i 分别用于指定配置文件和输入的url GOptionEntry entries[] = {{"version", v, 0

VBA发送邮件的常用方法?VBA如何自动发信?

VBA发送邮件需要配置什么设置?怎么使用VBA发送邮件? 使用VBA自动化处理任务是非常常见的,尤其是在发送邮件方面。通过VBA发送邮件,不仅可以提高工作效率,还能减少人为操作的错误。AokSend将详细介绍VBA发送邮件的常用…

MBR10100FCT-ASEMI肖特基二极管MBR10100FCT

编辑:ll MBR10100FCT-ASEMI肖特基二极管MBR10100FCT 型号:MBR10100FCT 品牌:ASEMI 封装:TO-220F 最大平均正向电流(IF):10A 最大循环峰值反向电压(VRRM)&#xff1…

新风口还是割韭菜?全域外卖加盟究竟真是假?

随着全域外卖加盟模式的兴起,与之相关的骗局不断增多,并由此引发了外界对于全域外卖加盟模式真实性的质疑,全域外卖加盟是真的吗等相关问题更是一举成为全域外卖交流群中的热点话题。 事实上,就目前的情况而言,全域外卖…

数据资产运营平台解决方案

一、前言 数据资产管理运营平台是涵盖数据资产确权、登记、核验、质量评价、价值评估、定价、增值、入表、安全等全流程业务的数据要素市场基础设施。落实数据产业制度供给,构建数据要素市场,汇集数据资源供给服务,为数据要素流通交易提供平…

BERT应用——文本相似度计算

本文展示了如何利用BERT模型计算两个文本字符串之间的余弦相似度。BERT(Bidirectional Encoder Representations from Transformers)是一种基于Transformer架构的预训练模型,广泛应用于自然语言处理领域。BERT的核心创新在于其双向训练的机制…

Cartographer学习笔记

Cartographer 是一个跨多个平台和传感器配置提供 2D 和 3D 实时同步定位和地图绘制 (SLAM) 的系统。 1. 文件关系 2. 代码框架 common: 定义了基本数据结构和一些工具的使用接口。例如,四舍五入取整的函数、时间转化相关的一些函数、数值计算的函数、互斥锁工具等…

Autosar Dem模块介绍

Autosar Dem 模块基础 在现代汽车电子系统中,Autosar(Automotive Open System Architecture)扮演着至关重要的角色,而其中的 Dem(Diagnostic Event Manager)模块更是具有关键意义。 Autosar Dem 模块的定义可以概括为:它是负责管理和处理诊断相关事件的一个组件。其主要…

【必会面试题】快照读的原理

目录 前言知识点一个例子 前言 快照读(Snapshot Read)是数据库管理系统中一种特殊的读取机制,主要用于实现多版本并发控制(MVCC, Multi-Version Concurrency Control)策略,尤其是在MySQL的InnoDB存储引擎中…

text2sql、nl2sql框架总结

DB-GPT DB-GPT 语雀 Vanna DAIL-SQL data-copilot SuperSonic:腾讯音乐开源 Chat BI 平台,开启 Text-to-SQL 全新体验

Oracle数据库面试题-6

21. 请解释Oracle数据库中的容灾解决方案,如GoldenGate等。 Oracle数据库中的容灾解决方案旨在确保在发生严重的灾难事件(如地震、火灾、洪水等)时,数据库能够迅速恢复正常的业务操作,同时最小化损失。容灾解决方案通…

特征优化+模型优化

一、优化思路梳理 课前准备   在昨天的内容中,我们通过使用更强的集成模型以及模型融合的方法,已经顺利将比赛分数提高至前20%。但正如此前所说,之前的一系列操作只不过是遵循了常规操作流程进行的数据处理与建模,若希望能够更进…

面试题:Proxy 相较于 Object.defineProperty 有什么优势?

面试题:Proxy 相较于 Object.defineProperty 有什么优势? Object.defineProperty 详解 语法:Object.defineProperty(obj, prop, descriptor) 功能:在一个对象上定义一个新属性或修改其现有属性,并返回此对象。 参数…

界面控件Telerik UI for WPF中文教程 - 用RadSvgImage升级应用程序UI

Telerik UI for WPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。UI for WPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成Visual Studio…

笔记-Python中的struct模块

了解c语言的人,一定会知道struct结构体在c语言中的作用,它定义了一种结构,里面包含不同类型的数据(int,char,bool等等),方便对某一结构对象进行处理。而在网络通信当中,大多传递的数据是以二进制流(binary …

ADB命令来捕获设备屏幕快照和发送鼠标事件来实现抓取公众号文章

ADB命令来捕获设备屏幕和发送鼠标事件来实现抓取公众号文章 现在公众号需要登陆账号才能看到评论内容。登陆要账号的密码等,token还会过期。 现在的很多小程序进行了加密,那是否有方案可以抓取小程序或公众号的数据呢? 解决方案: …

【简报】VITA 74 (VNX)B

1 为什么向AMSAT社区提及VPX / VNX 1.1VPX是包括卫星在内的最新一代军用车辆增长最快的标准 VITA 65 – 面向地面车辆的 OpenVPX文献检索将揭示在许多商业和军事坚固型系统应用中的广泛应用VITA 78 – AFRL和工业界正在开发用于卫星的“SpaceVPX”和“Space VPX Lite” 1.2 …