将 dplyr 查询保存到 dbplyr 中的不同架构

2023-12-13

我有一个 JDBC 连接,想要从一个模式查询数据并保存到另一个模式

library(tidyverse)
library(dbplyr)
library(rJava)
library(RJDBC)

# access the temp table in the native schema
tbl(conn, "temp")

temp_ed <- temp %*% mutate(new = 1)

# I would like to save temp_ed to a new schema "schmema_new"

我想用类似的东西dbplyr::compute()但具体定义输出模式。它似乎dbplyr::copy_to可以使用,但需要通过本地计算机传输数据。

我想用类似的东西RJDBC::dbSendUpdate()但理想情况下,它可以与上面的数据操作管道很好地集成。


我这样做使用dbExecute来自DBI包裹。

关键思想是提取定义当前远程表的查询,并将其作为写入该表的较大 SQL 查询中的子查询。这要求 (1) 架构存在,(2) 您有权编写新表,并且 (3) 您知道正确的 SQL 语法。

直接这样做可能看起来像:

tbl(conn, "temp")
temp_ed <- temp %*% mutate(new = 1)

save_table_query = paste(
    "SELECT * INTO my_database.schema_new.my_table FROM (\n",
    dbplyr::sql_render(temp_ed),
    "\n) AS sub_query"
  )

dbExecute(conn, as.character(save_table_query))

INTO是在 SQL Server 中写入新表的子句(我使用的 SQL 风格)。您将需要为您的数据库找到等效的子句。

在实践中,我使用一个自定义函数,如下所示:

write_to_database <- function(input_tbl, db, schema, tbl_name){
  # connection
  tbl_connection <- input_tbl$src$con

  # SQL query
  sql_query <- glue::glue(
    "SELECT *\n",
    "INTO {db}.{schema}.{tbl_name}\n",
    "FROM (\n",
    dbplyr::sql_render(input_tbl),
    "\n) AS sub_query"
  )

  result <- dbExecute(tbl_connection, as.character(sql_query))
}

将其应用到您的环境中:

tbl(conn, "temp")
temp_ed <- temp %*% mutate(new = 1)
write_to_database(temp_ed, "my_database", "schema_new", "my_table")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 dplyr 查询保存到 dbplyr 中的不同架构 的相关文章

  • 在ggplotly散点图中添加自定义数据标签

    我想显示Species对于每个数据点 当光标位于该点上方而不是 x 和 y 值时 我用iris数据集 另外 我希望能够单击数据点以使标签持久存在 并且当我在图中选择新位置时标签不会消失 如果可能的话 最基本的是标签 持久性问题是一个优点 这
  • R lubridate:当地语言的工作日

    如何获取本地语言的工作日和月份 My code library lubridate data lt c 10 02 2015 11 03 2015 data lubri lt dmy data wday data lubri label T
  • 将天气 iframe 嵌入到 Shiny Dashboard 中

    我正在尝试将 Forecast io 的天气预报嵌入到闪亮的仪表板中 我最初在使用 符号时遇到了麻烦 但看到一篇文章提供了如何使用特殊字符格式化 HTML 代码的示例 但是 当我运行该应用程序时 我看到一个简单的 未找到 即使我知道该链接有
  • ggplot2 - 添加具有不同中断和标签的辅助 y 轴

    是否可以使用 ggplot2 手动向辅助 y 轴添加中断和标签 see bottom right 我希望在右侧 y 轴上有更紧凑的中断 代表条形 该图将作为基本情况 然后我将展示如何更改辅助 y 轴上的分隔符和标签 sapply c pip
  • 使用starts_with() 将 NA 替换为 0

    我正在尝试替换我的一组特定列的 NA 值tibble 这些列都以相同的前缀开头 所以我想知道是否有一种简洁的方法来使用starts with 函数从dplyr包可以让我做到这一点 我已经看到了有关 SO 的其他几个问题 但是它们都需要使用特
  • 如何在 R 中只为直方图的一个标签着色?

    我有一个像这样的数据框 CellLines ZEB1 600MPE 2 8186 AU565 2 783 BT20 2 7817 BT474 2 6433 BT483 2 4994 BT549 3 035 CAMA1 2 718 DU447
  • 访问 R 工作区中的数据[重复]

    这个问题在这里已经有答案了 我是自学 R 的 可能有一些非常基本的东西我可能不熟悉 如果是这样我道歉 我正在尝试访问外部来源提供给我的数据 它作为一个工作空间出现 我的流程如下 gt ls 1 2003OHT HR gt attach 20
  • 如何使用 sprintf 函数在字符中添加前导“0”而不是空格?

    我正在尝试使用sprintf函数为字符添加前导 0 并使所有字符长度相同 然而我得到的是领先空间 My code a lt c 12 123 1234 sprintf 04s a 1 12 123 1234 我试图得到什么 1 0012 0
  • 将不同的 grViz 组合成一个图

    我想结合不同的DiagrammeR绘制成一个图形 生成的图如下例所示 library DiagrammeR pDia lt grViz digraph boxes and circles a graph statement graph ov
  • 美人鱼图:调整图表周围的空白

    我在用 Rstudio 编译的 Rmd 报告中使用了美人鱼图 在 HTML PDF 输出中 图表上方和下方有大量空白 请参见下面的示例 Header Text r library DiagrammeR mermaid graph TD cl
  • 将所有分号替换为空格 pt2

    我尝试对 2000 多行关键字的列表运行文本分析 但它们的列出方式如下 战略 管理风格 组织 所以当我使用 tm 删除标点符号时 它就变成了 组织的战略管理风格 我认为这在某种程度上破坏了我常用术语的分析 我尝试过使用 vector lt
  • 在`rmarkdown`中,如何在句子中添加图标?

    In rmarkdown 如何在句子中添加图标 例如如下 如何添加markdown icon单词 Markdown 和 is 之间 有一个很好的 R 包 可以轻松下载 RMarkdown 文档并将图标添加到其中 icons https gi
  • 如何使用autoconf重新生成配置文件?

    我使用 autoconf 重新生成配置文件 它有效 但是当我执行生成的配置文件时 configure 有一些错误消息 例如 configure line 3713 syntax error near unexpected token bla
  • R data.table 多个条件连接

    我设计了一种解决方案 用于从两个单独数据表的多个列中查找值 并添加基于新列的值计算 多个条件比较 代码如下 它涉及在计算两个表中的值时使用 data table 和联接 但是 这些表没有联接在我正在比较的列上 因此我怀疑我可能无法获得 da
  • 如何在基数 R 中进行分组

    我想使用以下 SQL 查询来表达base R 没有任何特定的包 select month day count as count avg dep delay as avg delay from flights group by month d
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • R参考类问题

    我正在尝试在 R 中创建一个简单的参考类 这是我的代码 R 初学者 MyClass lt setRefClass MyClass fields list a numeric b numeric methods list initialize
  • R 中使用 `UseMethod()` 与 `inherits()` 来确定对象的类

    如果我需要根据 R 对象的类以不同的方式处理它们 我可以使用if and else在单个函数内 foo lt function x if inherits x list Foo the list else if inherits x num
  • R Leaflet Legend:colorBin-删除中断之间的小数

    我正在使用 Leaflet 库在 R 中创建交互式 HTML 地图 传说中采用的是colorBin用于创建将数据分为 6 个类别的方法 使用min values and max values 我已经定义了美国社区调查收入数据的特定范围可能落
  • R data.table 1.9.2 关于 setkey 的问题

    这似乎是 1 8 10 后引入的一个错误 与包含列表的 DT 的 setkey 相关 运行下面两个代码来查看问题 library data table dtl lt list dtl 1 lt data table scenario 1 p

随机推荐

  • 命名查询中的 Hibernate 错误

    我正在尝试从当前日期位于任何给定月份的第一天和最后一天之间的表中提取信息 我收到运行时错误 命名查询中的错误 Department byDate 我向您提供了我认为可能导致问题的代码 如果需要任何其他代码 请在评论中告诉我 我的命名查询如下
  • 在WPF中动态添加文本框

    我正在动态创建一个文本框 我的网格中有 2 列 如果其他文本框值 茶 我想向该行添加新文本框 我想创建新的文本框以更改相应行的文本框值 我无法使用标签来获取此处选定的行 因为我已经出于某种目的使用了 Tag 我对Tag不太了解 无论如何 如
  • 无法在 javascript onreadystatechange 中读取自定义 http 标头?

    当我尝试读取自定义 http headers i am hetting null 时 泽西岛身份验证资源 Path redirect public class RedirectDemo POST Consumes MediaType APP
  • 从 jsdom 迁移到 phantomJS ? (基本 DOM 创建)

    M Bostock 指出 nodejs 的 jsdom 对 svg 的支持不完整 而且 对我来说至关重要的是 不支持getBBox 另外 他建议改用nodejs的PhantomJS 我检查了一下 但这种方法对我来说是新的 我的nodejs
  • C# 中运算符方法的方法名称

    有谁有 C CLR 为运算符提供的名称的详尽列表吗 也许是我睡眠不足 但我似乎无法在谷歌上找到它 op 加法 op 减法 此外 这些在其他文化中是否有可能有所不同 我正在尝试创建一个可以添加 减去两个对象等的类 并且我已经完成了所有原语 我
  • mod_rewrite 似乎忽略了 [L] 标志

    我正在尝试使用 L 标记在RewriteRule 但似乎不起作用 如果您调用该页面 我希望如此 www domain com admin 它会将您重定向到 www domain com backend php 否则 如果您调用任何其他页面
  • 判断复选框是否被选中 php $_GET

    我只想让 php 确定是否选中复选框 但我遇到了获得正确返回值的问题 请帮助 我的html代码
  • Codeigniter flashdata 无法在 Internet Explorer 和 google chrome 中工作

    Codeigniter flashdata 无法在 Internet Explorer 和 Chrome 中运行 但可以在 Firefox 中运行 可能是什么问题 在我的控制器中 this gt session gt set flashda
  • 将 Jquery 数据表与 AngularJs 结合使用

    我正在尝试使用jquery 数据表插件在我的 angularjs 项目中 但我的问题是它支持吗延迟加载对 AngularJS 有价值吗 我想要 因为我有很多行 如何使用数据表管道与 AngularJS 一起 分页有一个解决方案here 如何
  • MySQL LEFT JOIN 带有 WHERE 子句的查询

    希望有人可以提供帮助 因为我很难理解如何正确查询 我有一个 Member 表和一个 Member Card 表 Member Card 有一个 Member 列 因此该卡与一个会员相关联 两个表都有一个 LastModifiedDate 列
  • 匹配名称的好算法?

    我正在开发一款手机应用程序 用于将联系人与 Facebook 帐户同步 所以基本上我有一个我的联系人姓名列表和我的 Facebook 好友列表 我希望获得两个列表之间的最佳匹配 当然 我可以自己写一些基本的东西 但也许有一种已知的算法可以得
  • ADT 23 不喜欢 NDK11

    Win7 x64 Eclipse Luna SR2 Android 工具 v23 0 7 我已经安装了 NDK r11 我试图将 Eclipse 指向D android ndk r11通过首选项窗口 但它说 不是有效的 NDK 目录 您需要
  • 在 PHP 中显示关联数组

    我正在尝试构建一个函数 该函数从数据库中提取信息并将其插入到 PHP 中的关联数组中mysql fetch assoc 并返回数组 以便另一个函数可以显示它 我需要一种方法来显示返回的关联数组 这应该是与第一个不同的函数 print r a
  • Fortran 到 C 库的链接器错误 - /usr/lib/libf2c.so:对“MAIN__”的未定义引用

    所以我在使用 fortran 到 C 库时遇到了一些麻烦 现在 在讨论这个问题之前 我可以告诉你 我不能像某些论坛网站所建议的那样使用 g2c 现在 解决问题 当我尝试编译一个非常大的项目时 我得到以下信息 from the makefil
  • 在 Python 中读取 .mat 文件

    是否可以在 Python 中读取二进制 MATLAB mat 文件 我看到 SciPy 声称支持读取 mat 文件 但我没有成功 我安装了SciPy版本0 7 0 但找不到loadmat method 需要进口 import scipy i
  • 如何将 xml 文件的“自定义工具”属性设置为 T4 文件?

    我们知道 asp net resx 文件有一个自定义工具用于生成一些 C 代码 ResX文件代码生成器 我有一个 xml 文件 我想将其自定义工具属性设置为T4 file 如何将 T4 文件绑定到 xml 文件 你可以这样做T4工具箱 在
  • 如何在ios中从Facebook SDK 4.0获取用户名

    如何获得username来自 iOS 中的 facebook sdk 4 0 IBAction LoginWithFacebook id sender if FBSDKAccessToken currentAccessToken self
  • C++ 中的编译器版本、名称和操作系统检测

    我需要使用 C 检测操作系统名称 编译器名称和编译器版本 因为我需要更改每种情况的设置 我怎样才能做到这一点 对于大多数编译器 您可以找到预定义宏的列表 VS http msdn microsoft com en us library b0
  • 在 Windows 上使用 Cygwin64 编译器和调试器为 C 设置 VS Code(错误:无法启动调试)

    我正在尝试将 VSCODE 设置为debugWindows 上使用 Cygwin64 的 C 程序 我使用了 stephw建议的配置 在 Windows 上使用 Cygwin64 编译器和调试器为 C 设置 VS Code 但它对我不起作用
  • 将 dplyr 查询保存到 dbplyr 中的不同架构

    我有一个 JDBC 连接 想要从一个模式查询数据并保存到另一个模式 library tidyverse library dbplyr library rJava library RJDBC access the temp table in