问题标签 [dbplyr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1260 浏览

sql-server - 如何从 dplyr 管道创建 SQL Server 表

由于dbplyr 中的错误copy_to并且compute当前不适用于 SQL Server 连接。

dbplyr repo 上有一个活动的 PR 可以解决这个问题,但没有表明何时合并(或何时到达 CRAN)。同时,我如何从查询中创建一个表,而不将数据读入 R?

0 投票
1 回答
839 浏览

dplyr - 如何使用 spark-sql“范围之间”子句进行带有 sparklyr 的窗口操作

上下文:我有一个带有登录时间的大表。我想计算指定时间段内(例如 3600 秒)内的滚动登录次数。

在 SQL/HQL 中,我将其指定为:

作为 sparklyr 中的一种解决方法,我们可以这样写:


我想知道是否有现有的 sparklyr/dplyr 方法来实现这一点。 这个与将“window_frame”函数添加到 dbplyr 相关的问题看起来很有希望,但是我找不到指定“范围之间”的方法,以下操作仅生成“之间的行”窗口:

0 投票
1 回答
169 浏览

r - 使用 DBI 包连接到 PostgreSQL 时在 R 中有所不同

下面的代码打印:

但我期待:

代码:

输出是正确的,但生成的查询似乎不是 100%。那么无论如何我可以实现查询吗?

0 投票
0 回答
123 浏览

r - 在 dplyr 远程表上计算任意 R 函数

为了从本质上计算数据库上的一些任意 R 代码,我发现自己所处的一个非常常见的工作流程是这样的:

1)查询远程数据库以将数据下拉到R中。

2) 在 R 中执行一些操作,通常是为了生成在数据库中不容易计算的特征。

3) 将数据上传回数据库以供将来访问。

现在,如果数据不是太大,那么这很简单,并且生活在 tidyverse 中,我会做这样的事情:

这很好(尽管如果有更好的方法请告诉我)。

但是当我处理一个不适合内存的数据集时,问题就来了。我可以采用拆分-应用-组合方法并编写一个循环来下载数据集的块、执行操作并将它们附加到数据库中的表中,但这似乎不太优雅。

我在想有一种更通用的方法可以做到这一点,也许使用 tidyverse 中的一些功能技术,但是有人有什么想法吗?

非常感谢您的帮助!

0 投票
1 回答
1582 浏览

r - Sparklyr 使用 case_when 和变量

case_when使用带有外部变量的 a 时,Sparklyr 失败。

工作示例:

失败Error: Can't extract an environment from NULL

0 投票
0 回答
29 浏览

r - 了解 R 如何存储 SQLlite 数据库

在 RI 中使用数据库观察到以下情况:

奇迹般有效。查看生成的两个 db 文件,我看到:

它们具有完全相同的大小......即使 test2.db 包含完整数据和查询,除了 test.db 之外,它至少还有查询。我确保已经应用了过滤器。

有什么启示吗?

0 投票
4 回答
204 浏览

r - 计算数年数月的中值

我最近开始了我的 R 冒险,并试图解决以下问题。我有data.frame,包括一年中特定月份的到达和离开。我必须找出这些年来每个月的中位数是多少。我的结果应该保存在 .csv 中。以下只是示例,整个观察结果包括截至 2017 年的日期(总共 1548 个观测值):

这是我应该得到的预期输出:

我决定分几个步骤来做,我要做的第一件事是从字符串中接收正确的日期格式:

这对我来说实际上很棘手。我不明白如何正确地做到这一点,为什么有两种方法可以获取日期格式,例如 2006-01-01 与 2005-12-31?在这种情况下哪一个是正确的?

现在,假设 2006-01-01 是正确的,我可以在 months() 函数中使用 as.POSIXct 来获取月份:

下一步将需要分组操作:

当将其写入 csv 时,我得到的值非常小..

有人可以指导我并告诉我解决问题的正确方法吗?

我将不胜感激任何帮助。

0 投票
2 回答
4564 浏览

sql - 使用 dplyr 创建 SQL 查询“SELECT * FROM myTable LIMIT 10”

假设我连接到一个名为con.

我想dplyr用来重现这个查询

我努力了

但它并没有给出想要的结果,而且它产生的查询比我所追求的要慢得多。

它产生的查询是

当我将此查询发送到数据库时,它会运行很长时间。当我发送

结果立即返回。

0 投票
1 回答
320 浏览

sql - 从 tbl_dbi 中提取 SQL 作为字符串的首选方法是什么?

我想从 tbl_dbi 中提取 SQL 并将其保存为字符向量。

我努力了

这在过去对我有用,但现在不起作用,也许是因为我在玩水槽功能。我的问题是“是否有一种更强大/标准的方法可以从 tbl_dbi 中提取 SQL 查询,或者我正在做的唯一方法是什么?”

0 投票
2 回答
391 浏览

r - 如何将数据“刷新”到我的 RSQLite 磁盘数据库?

我正在使用 R 包 dbplyr 创建一个数据库,使用 RSQLite,但是尽管我写(和读回)一个表,但我的数据库在磁盘上的大小是零字节。这是我的脚本:

但是正如您从最后的 ls -l 中看到的那样,我的数据库大小为 0,即使脚本确实从数据库中读取了 mtcars(所以它就在那里)。我想使用数据库文件与另一个程序共享数据,那么如何定期将数据“刷新”到磁盘?