【问题标题】:Querying CosmosDB in R-shiny在 R-shiny 中查询 CosmosDB
【发布时间】:2021-09-08 00:09:52
【问题描述】:

有谁知道如何通过 R 在 CosmosDB 上运行 dyplr 查询?

我有一个带有输入滑块的 R-shiny 应用程序,可以为 CosmosDB 创建过滤器。

举一个静态查询的例子

install.packages("AzureCosmosR")
require(AzureCosmosR)

query_documents(cont, "SELECT c.mpg FROM mtcars c WHERE c.cyl=6 AND c.gear=4
                ", metadata=FALSE)

如何像使用 dyplr 过滤器一样从输入滑块创建类似 c.cyl=!!input$cyl 的内容?

【问题讨论】:

    标签: r dplyr shiny azure-cosmosdb


    【解决方案1】:

    这里有两个可供探索的选项:

    1. 使用胶水包创建合适的查询:
    query_string = glue::glue("SELECT c.mpg FROM mtcars c WHERE c.cyl={inputs$cyl} AND c.gear=4")
    query_documents(cont, query_string, metadata=FALSE)
    

    glue 包在大括号 { } 中查找项目,就好像它们是您环境中的变量一样。

    1. 使用 dbplyr 将 dplyr 命令自动转换为 SQL。 dbplyr 的 tidyverse 简介是 here。但这可能需要一些工作才能让 R 与您的数据库对话。

    【讨论】:

    • 谢谢你,这很有帮助!我最初将 dbplyr 与通过 MariaDB 连接的 SQL 数据库一起使用,并且效果很好,但没有找到适合 CosmosDB 种类的正确驱动程序。我将探讨选项 1 并回复您。
    猜你喜欢
    • 2019-10-20
    • 2017-02-18
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多