大佬教程收集整理的这篇文章主要介绍了使用 R 查询 SQLite 文件帮助:DBI::dbGetQuery() 永远不会完成,非常慢,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 sqlite 文件,其中包含一个包含 900 万行左右和 30 多列的表。直到几天前,以下代码运行良好:
path <- file.path(basepath,"Rmark_web","sql_Data","2020Q3_Enterprise_Exposure_Wind.sqlite")
cn <- DBI::dbConnect(Rsqlite::sqlite(),path)
df <- DBI::dbGetquery(cn,"SELEct Longitude,Latitude,City,State,@R_637_10586@l_Value,GrIDID,new_LOB from [2020Q3_Enterprise_Exposure_Wind] where State in ('GA')")
DBI::dbdisconnect(cn)
当我在本地机器上运行包含此查询的代码时,它需要一些时间,但它确实完成了。我目前正在尝试使用以下指标在 docker 映像中运行它:
docker run --memory=10g --rm -d -p 8787:8787 -v /efs:/home/rstudio/efs -e ROOT=TRUE -e disABLE_AUTH=true myrstudio
有没有办法调试 Rsqlite 包?是否有另一种方法可以在不使用此包的情况下执行此查询?其余代码运行良好,但会在此特定步骤中停滞不前并且通常无法完成(尤其是当这段代码在 docker 映像中第二次或第三次运行时)。
查询中包含的状态数会随着运行而变化。
如果您遇到此问题,请务必从 SQL 文件中删除您未使用的任何列。最后,我将其作为 POSTGRes 数据库在线加载,这似乎解决了我遇到的问题。这是对任何人都有益的新查询。
library(RPOSTGRes)
library(RPOSTGReSQL)
library(DBI)
db <- 'airflow_db' #provide the name of your db
host_db <- [omitted for privacy]
db_port <- [omitted for privacy] # or any other port specified by the DBA
db_user <- [omitted for privacy]
db@R_197_3988@ <- Sys.getenv("DB_PASS")
con <- dbConnect(RPOSTGRes::POSTGRes(),dbname = db,host=host_db,port=db_port,user=db_user,password=db@R_197_3988@)
query <- paste('SELEct * from weather_report.ent_expo_data where "State" in (',in_states_clause,')',sep='')
print(query)
df <- dbGetQuery(con,query)
以上是大佬教程为你收集整理的使用 R 查询 SQLite 文件帮助:DBI::dbGetQuery() 永远不会完成,非常慢全部内容,希望文章能够帮你解决使用 R 查询 SQLite 文件帮助:DBI::dbGetQuery() 永远不会完成,非常慢所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。