![](/img/trans.png)
[英]disk I/O error with SQLite3 in Python 3 when writing to a database
[英]Sqlite disk I/O error (python - databricks)
所以,我在 Databricks 上运行一个集群。 当我尝试像这样查询 sqlite 文件时:
import sqlite3
conn = sqlite3.connect("/dbfs/FileStore/testing.sqlite")
cur = conn.cursor()
cur.execute('''SELECT * FROM ZACCELEROMETER''')
我收到此错误:
OperationalError Traceback (most recent call last)
<command-163> in <module>
----> 1 cur.execute('''SELECT * FROM ZACCELEROMETER''')
OperationalError: disk I/O error
值得一提的是,我可以在 Jupiter 本地查询这个确切的文件。 另一件不寻常的事情是在数据块上,我试图打开我在互联网上找到的名为“Chinook_Sqlite.SQLite”的示例 SQLite 文件,它工作正常,没有错误,与第一个文件不同。 我认为它可能与第一个 SQLite 文件的编码有关。
任何建议将不胜感激。 如果有不清楚的地方,请告诉我。
谢谢!
对于将来会遇到此问题的任何人,我找到了一个解决方案,我认为它适用于任何分布式文件系统。
conn = sqlite3.connect('data.sqlite')
curr = conn.execute('PRAGMA locking_mode = EXCLUSIVE')
只需简单地运行第二行,它应该可以工作。 我相信问题在于 sqlite 是要在本地运行(即由一台机器运行),所以在 NFS 上,将 sqlite 文件的锁定模式设置为独占将只允许一个用户访问 Z786D348E95448E4FFFZ 文件,而连接 7872B仍然活跃。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.