gpt4 book ai didi

mysql - 使用 collect 将 R 连接到 MySQL 时连接丢失

转载 作者:可可西里 更新时间:2023-11-01 07:36:28 24 4
gpt4 key购买 nike

我想使用 dplyrRMySQL 来处理我的大数据。 dplyr 代码没有问题。问题(我认为)是关于将数据从 MySQL 导出到 R。每次我在 collect 中使用 n=Inf 时,我的连接都会断开。理论上,我的数据应该有超过 50K 行,但我只能得到大约 15K 行。任何建议表示赞赏。

方法一

library(dplyr)
library(RMySQL)

# Connect to a database and select a table
my_db <- src_mysql(dbname='aermod_1', host = "localhost", user = "root", password = "")
my_tbl <- tbl(my_db, "db_table")
out_summary_station_raw <- select(my_tbl, -c(X, Y, AVERAGE_CONC))
out_station_mean_local <- collect(out_summary_station_raw)

方法 2:使用 Pool

library(pool)
library(RMySQL)
library(dplyr)

pool <- dbPool(
drv = RMySQL::MySQL(),
dbname = "aermod_1",
host = "localhost",
username = "root",
password = ""
)

out_summary_station_raw <- src_pool(pool) %>% tbl("aermod_final") %>% select(-c(X, Y, AVERAGE_CONC))

out_station_mean_local <- collect(out_summary_station_raw, n = Inf)

警告信息(两种方法):

Warning messages:
1: In dbFetch(res, n) : error while fetching rows
2: Only first 15,549 results retrieved. Use n = Inf to retrieve all.

更新:

检查了日志,从服务器端看起来没问题。对于我的示例,slow-log 表示 Query_time: 79.348351 Lock_time: 0.000000 Rows_sent: 15552 Rows_examined: 16449696,但 collect 无法检索完整的数据。我能够使用 MySQL Bench 复制相同的 Action 。

最佳答案

关于mysql - 使用 collect 将 R 连接到 MySQL 时连接丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44350330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com