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

如何将.sqlite文件数据导入Databricks Spark并访问其中数据表?

将SQLite数据集导入Databricks Spark的步骤

1. 上传SQLite文件到Databricks可访问的存储

先把下载的.sqlite文件上传到Databricks的存储系统,比如DBFS(Databricks File System)或者Unity Catalog卷:

  • 通过Databricks UI操作:左侧导航栏选数据 → 找到目标存储位置(比如DBFS的/FileStore目录) → 点击上传选择本地的SQLite文件。
  • 上传完成后记录文件完整路径,示例:dbfs:/FileStore/datasets/your_dataset.sqlite。

2. 安装SQLite依赖

Databricks集群默认不含SQLite的JDBC驱动,需先安装:

  • 单Notebook会话临时安装:运行以下命令
%pip install sqlite-jdbc
  • 集群全局安装:在集群配置的库页面,添加Maven坐标org.xerial:sqlite-jdbc:3.41.2.1(版本可按需调整),重启集群生效。

3. 读取SQLite中的数据表

方法一:JDBC读取单表

直接指定表名读取,Python示例代码:

# 配置连接参数
jdbc_url = "jdbc:sqlite:/dbfs/FileStore/datasets/your_dataset.sqlite"
jdbc_driver = "org.sqlite.JDBC"

# 读取目标表
df = spark.read \
    .format("jdbc") \
    .option("url", jdbc_url) \
    .option("dbtable", "your_table_name") \
    .option("driver", jdbc_driver) \
    .load()

# 验证数据
df.show()
df.printSchema()

方法二:批量读取所有表

若不清楚所有表名,先查询SQLite系统表获取表列表:

# 查询所有用户自定义表
tables_df = spark.read \
    .format("jdbc") \
    .option("url", jdbc_url) \
    .option("dbtable", "SELECT name FROM sqlite_master WHERE type='table'") \
    .option("driver", jdbc_driver) \
    .load()

# 提取表名列表
table_names = [row.name for row in tables_df.collect()]

# 批量读取并存储为字典
tables_dict = {}
for table in table_names:
    tables_dict[table] = spark.read \
        .format("jdbc") \
        .option("url", jdbc_url) \
        .option("dbtable", table) \
        .option("driver", jdbc_driver) \
        .load()

# 访问任意表示例
tables_dict["table1"].show()

方法三:Spark原生SQLite数据源(Spark 3.4+)

如果你的Databricks Runtime版本为13.0+(对应Spark 3.4+),可直接用官方SQLite数据源:

# 读取指定表
df = spark.read.format("sqlite") \
    .option("path", "dbfs:/FileStore/datasets/your_dataset.sqlite") \
    .option("dbtable", "your_table_name") \
    .load()

4. 后续数据操作

读取后的DataFrame可直接进行Spark SQL操作,比如注册临时视图:

df.createOrReplaceTempView("temp_table")
spark.sql("SELECT * FROM temp_table LIMIT 10").show()

也可写入Delta Lake实现持久化存储:

df.write.format("delta").mode("overwrite").save("dbfs:/delta/your_table")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 08:10:23