Как поместить определенные запросы в каждое приложение label-ShinyR
Итак, я пытаюсь вывести определенные запросы в каждом из вариантов ввода в моем приложении ShinyR. Я пытаюсь сопоставить метки abcd2,abc3,audit_process с заданным запросом:
queryString <- sprintf("select * from sndbx_test.audit_process_group_1_11 limit 5", input$abcd2)
queryString <- sprintf("select * from sndbx_test.audit_process_group_1_11 limit 5", input$abcd3)
queryString <- sprintf("select * from sndbx_test.audit_process_group_1_11 limit 5", input$audit_process)
здесь мой код пока что дает мне ошибки:
library(shiny)
library(shiny)
library(RSQLite)
library(DBI)
library(datasets)
library(sparklyr)
library(dplyr)
# for Spark 2.1.X
Sys.setenv(SPARK_HOME="/opt/cloudera/parcels/SPARK2/lib/spark2/")
Sys.setenv(SPARK_HOME_VERSION="2.1.0")
# Import the Libraries
library("sparklyr")
library("DBI")
library(dplyr)
#Connecting to Spark
sc <- spark_connect(master ="yarn-client")
# Run whatever you want, like SQL “SHOW TABLES”
data <- dbGetQuery(sc, "use sndbx_test")
dbGetQuery(sc,"Select * from abcd2 limit 5")
#dbWriteTable(sc, "audit_process_group_1_11", sndbx_test.abc1 )
# Define UI for dataset viewer app ----
ui <- fluidPage(
# App title ----
titlePanel("Sample Database"),
# Sidebar layout with a input and output definitions ----
sidebarLayout(
# Sidebar panel for inputs ----
sidebarPanel(
# Input: Selector for choosing dataset ----
selectInput(inputId = "dataset",
label = "Choose a dataset:",
choices = c("abcd2", "abcd3", "audit_process")),
# Input: Numeric entry for number of obs to view ----
numericInput(inputId = "obs",
label = "Number of observations to view:",
value = 10)
),
# Main panel for displaying outputs ----
mainPanel(
# Output: HTML table with requested number of observations ----
tableOutput("view")
)
)
)
# Define server logic to summarize and view selected dataset ----
server <- function(input, output,session) {
# Return the requested dataset ----
datasetInput <- reactive({
switch(input$dataset,
"abcd2" = abcd2,
"abcd3" = abcd3,
"audit_process" = audit_process)
})
observeEvent(input$dataset, {
queryString <- sprintf("select * from sndbx_test.audit_process_group_1_11 limit 5", input$abcd2)
queryString <- sprintf("select * from sndbx_test.audit_process_group_1_11 limit 5", input$abcd3)
queryString <- sprintf("select * from sndbx_test.audit_process_group_1_11 limit 5", input$audit_process)
datasetInput(dbGetQuery(sc,queryString))
})
# Show the first "n" observations ----
output$view <- renderTable({
head(datasetInput(), n = input$obs)
})
}
# Create Shiny app ----
shinyApp(ui = ui, server = server)
Есть идеи? Я перепробовал все, но не могу сопоставить свои запросы из DBI(spark) с метками в выпадающем списке. Похоже, легко исправить.