r - SQL 来自多个访问数据库的大型数据集
r - SQL on large datasets from several access databases
我正在进行流程改进,将在 r 中使用 SQL 来处理大型数据集。目前,源数据存储在几个不同的 MS Access 数据库中。我最初的做法是使用 RODBC 将所有源数据读入 r,然后根据需要使用 sqldf() 汇总数据。不过,在我开始使用 sqldf() 之前,我 运行 内存不足。
有没有更有效的方法让我使用 r 完成这个任务?我一直在寻找一种方法来 运行 SQL 查询连接单独的数据库 before 将它们读入 r,但到目前为止我还没有找到任何支持此功能的软件包。
如果您的数据在 a 数据库中 dplyr
(tidyverse 的一部分)将是您正在寻找的工具。
您可以使用它连接到本地/远程数据库,将您的连接/过滤器/任何东西推送到那里,collect()
结果作为数据框。您会在 http://db.rstudio.com/dplyr/
上找到该过程的简洁总结
我不太确定 - 但它不是 R 问题而是 MS Access 问题 - 是跨 多个 MS Access 数据库访问数据的方法。
您可能需要为此编写自定义 SQL 代码并通过 DBI::dbGetQuery()
将其传递到其中一个数据库并让 MS Access 处理数据库 link.
您发布的 link 看起来很有希望。如果它没有产生预期的结果,请考虑 link 将一个 Access 数据库连接到所有其他数据库。链接几乎不占用内存。联合 link 并从那里获取数据。
# Load RODBC package
library(RODBC)
# Connect to Access db
channel <- odbcConnectAccess("C:/Documents/Name_Of_My_Access_Database")
# Get data
data <- sqlQuery(channel , paste ("select * from Name_of_table_in_my_database"))
这些 URL 也可能有帮助。
https://www.r-bloggers.com/getting-access-data-into-r/
How to connect R with Access database in 64-bit Window?
我正在进行流程改进,将在 r 中使用 SQL 来处理大型数据集。目前,源数据存储在几个不同的 MS Access 数据库中。我最初的做法是使用 RODBC 将所有源数据读入 r,然后根据需要使用 sqldf() 汇总数据。不过,在我开始使用 sqldf() 之前,我 运行 内存不足。
有没有更有效的方法让我使用 r 完成这个任务?我一直在寻找一种方法来 运行 SQL 查询连接单独的数据库 before 将它们读入 r,但到目前为止我还没有找到任何支持此功能的软件包。
如果您的数据在 a 数据库中 dplyr
(tidyverse 的一部分)将是您正在寻找的工具。
您可以使用它连接到本地/远程数据库,将您的连接/过滤器/任何东西推送到那里,collect()
结果作为数据框。您会在 http://db.rstudio.com/dplyr/
我不太确定 - 但它不是 R 问题而是 MS Access 问题 - 是跨 多个 MS Access 数据库访问数据的方法。
您可能需要为此编写自定义 SQL 代码并通过 DBI::dbGetQuery()
将其传递到其中一个数据库并让 MS Access 处理数据库 link.
您发布的 link 看起来很有希望。如果它没有产生预期的结果,请考虑 link 将一个 Access 数据库连接到所有其他数据库。链接几乎不占用内存。联合 link 并从那里获取数据。
# Load RODBC package
library(RODBC)
# Connect to Access db
channel <- odbcConnectAccess("C:/Documents/Name_Of_My_Access_Database")
# Get data
data <- sqlQuery(channel , paste ("select * from Name_of_table_in_my_database"))
这些 URL 也可能有帮助。
https://www.r-bloggers.com/getting-access-data-into-r/
How to connect R with Access database in 64-bit Window?