You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark 3.5.1读取本地SQLite数据库文件报错,如何解决?

解决PySpark读取本地SQLite数据库的JDBC连接错误

你的核心问题是误用了MySQL的JDBC配置来连接SQLite数据库,两者的驱动类、URL格式完全不兼容,导致连接失败。以下是修复步骤:

1. 准备SQLite JDBC驱动

下载SQLite官方的JDBC驱动包(例如sqlite-jdbc-3.45.2.0.jar),将其放置在Jupyter Notebook的当前工作目录中。

2. 修改SparkSession与JDBC连接参数

替换原代码中的MySQL驱动配置,改用SQLite对应的设置:

from pyspark.sql import SparkSession

# 初始化SparkSession,指定SQLite驱动
spark = SparkSession.builder \
    .appName('Ops') \
    .config("spark.jars", "sqlite-jdbc-3.45.2.0.jar") \
    .getOrCreate()

# 读取SQLite数据库
df = spark.read.format('jdbc') \
    .options(
        url='jdbc:sqlite:activities.db',  # SQLite的JDBC URL格式
        dbtable='activities',
        driver='org.sqlite.JDBC'          # SQLite的驱动类
    ) \
    .load()

# 查看数据验证是否成功
df.show()

关键注意事项

  • URL格式:SQLite的JDBC URL必须以jdbc:sqlite:开头,后面跟数据库文件路径,同目录下直接写文件名即可。
  • 驱动类:必须使用org.sqlite.JDBC,不能用MySQL的驱动类。
  • 驱动路径:如果驱动包不在当前目录,需要填写完整的绝对路径,例如/home/username/notebooks/sqlite-jdbc-3.45.2.0.jar。
  • 目录验证:可以通过执行!pwd(Linux/macOS)或!dir(Windows)确认activities.db是否在当前工作目录中。

内容的提问来源于stack exchange,提问作者percy_liu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 08:35:55