0

到目前为止,我使用 bigrqueryquery_exec从 BigQuery 下载时间序列数据。

sql <- "SELECT  Date, val1, val2
        FROM `mydata` 
        WHERE DATE(_PARTITIONTIME) BETWEEN '2020-05-01' AND '2020-06-01'"

project <- "myproj"

df <- query_exec(sql, project = project, max_pages = Inf, use_legacy_sql = FALSE) %>% as_tibble()

自上次更新以来,会出现一条警告,指示query_exec已弃用,而应与 结合使用bq_table_downloadbq_project_query

tb <- bq_project_query(project, sql)
df <- bq_table_download(tb, page_size = 100000)

调整我的代码导致数据框大小(超过 400 万行)与使用query_exec. 但是,从 ~80000 行开始,现在只出现格式为 1970-01-01 的日期,其余列要么为空,要么包含零。使用旧方法query_exec仍然有效,并导致格式正确的数据帧。

有什么想法可能是这里的问题吗?

4

1 回答 1

0

这很可能与您设置为 100000 的 page_size 参数有关。如果将其增加到更大的数字,则结果将不再正确解析,并且会出现一些 NA 或错误解析的错误。因此,我假设您的日期为 1970-01-01。

尝试将 page_size 设置为接近默认值 10000 的值,它应该可以工作。我还没有找到完美的价值,但 20000 对我来说很好。

于 2021-06-08T06:43:53.983 回答