【问题标题】:R table from SQL weird behavior来自 SQL 奇怪行为的 R 表
【发布时间】:2021-03-26 17:34:38
【问题描述】:

我使用以下方法将 R 连接到 SQL:

library(dplyr)
library(dbplyr)
library(odbc)
library(RODBC)
library(DBI)

con <- dbConnect(odbc(), 
                 Driver = "SQL Server", 
                 Server = "srv name", 
                 Database = "Warehouse")

我拉入我想要使用的表格

data <- tbl(con, in_schema("prc", "PricingLawOfUniv")))

以下内容向我展示了我期望看到的内容(38 X 1000 的数据表):

  1. 头(数据
  2. 列名(数据)

以下事情的行为符合我的预期:

  1. 在环境中 data 是“2 个列表”
  2. View(data) 显示了一个包含“src”和“ops”的列表 - 每一个也是 2 个列表。

最终,我想使用 dplyr 将 38 X 1000 表作为数据框处理。我怎样才能做到这一点?我尝试了 data[1] 和 data[2] 但都没有成功。我要隐藏的实际表在哪里?

【问题讨论】:

    标签: r sql-server dbi


    【解决方案1】:

    您可以使用DBI::Id 指定表/模式,然后使用dbReadTable

    tbl <- DBI::Id(
      schema  = "prc",
      table   = "PricingLawOfUniv"
    )
    data <- DBI::dbReadTable(con, tbl)
    

    【讨论】:

    • 试过这个,最终不得不强制退出:/
    • 您是否估计了要导入的表的磁盘大小?
    • 行:41845983,保留:12323592 KB,数据:12253760 KB
    • 我刚找到一张小得多的桌子,而且效果很好。我想我只需要让它运行一段时间?
    • 这样会更好,但是会在一段时间不活动后由服务器自动完成。你也可以看看poolpackage which will handle this for you
    猜你喜欢
    • 2020-02-10
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多