Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 至于;“大的”;数据,使用sql连接还是导入csv文件更好_Sql Server_R_Csv - Fatal编程技术网

Sql server 至于;“大的”;数据,使用sql连接还是导入csv文件更好

Sql server 至于;“大的”;数据,使用sql连接还是导入csv文件更好,sql-server,r,csv,Sql Server,R,Csv,所以我尝试使用dplyr连接到数据库,并对该数据执行命令。但是,如果该过程花费的时间太长(>10分钟)。在SQL Server中,这大约需要2分钟,因此我可以将其导出为csv,然后将其导入到R或Python中。因此,作为一般规则,您建议使用R或Python的sql连接,还是直接从sql数据库导出csv文件 以下是我使用的R代码: library(dplyr) aw <- RSQLServer::src_sqlserver("****", database = "****") dept &

所以我尝试使用dplyr连接到数据库,并对该数据执行命令。但是,如果该过程花费的时间太长(>10分钟)。在SQL Server中,这大约需要2分钟,因此我可以将其导出为csv,然后将其导入到R或Python中。因此,作为一般规则,您建议使用R或Python的sql连接,还是直接从sql数据库导出csv文件

以下是我使用的R代码:

library(dplyr)
aw <- RSQLServer::src_sqlserver("****", database = "****")

dept <- tbl(aw, sql("select work_dt, campaign, keyword, 
                     impressions, clicks, cost
                     from abidwise_detail
                     where work_dt between '2014-01-01' and '2014-05-01'")))

(dept <- tbl(aw, sql("select work_dt, campaign, keyword, 
                     sum(impressions) as impressions,
                     sum(clicks) as clicks,
                     sum(cost) as cost
                     from abidwise_detail
                     where work_dt between '2014-01-01' and '2014-02-01'
                     group by work_dt, campaign, keyword")))

rd <- dept %>% 
  filter(campaign == "ask")

# Bring the full data set back to R
dat <- collect(rd)
库(dplyr)

我认为你应该做最适合你具体情况的事情。如果您不介意从SQL Server手动导出CSV数据,并且它比其他替代方法更快,那么就这样做。也许
data.table
包在这方面对您来说可能很有趣case@Deena如果正确,请尝试
data.table::fread()
,这是导入大型分隔文件的最快(也是最简单)的方法。