Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----library------------------------------------------------------------------
library(SCDB)
## ----setup, echo = FALSE, results = "hide", eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
# Setup conn to be used for examples
conn_primary <- get_connection(duckdb::duckdb())
conn_secondary <- conn_primary
# Use a wrapper for update_snapshot which uses LoggerNull to suppress all logging
if (!"update_snapshot" %in% ls(envir = globalenv())) {
update_snapshot <- function(...) {
return(SCDB::update_snapshot(logger = SCDB::LoggerNull$new(), ...))
}
}
# Setup example_data table in conn
example_data <- dplyr::copy_to(
conn_primary,
dplyr::transmute(datasets::mtcars, car = rownames(mtcars), hp),
name = "example_data",
overwrite = TRUE
)
## ----example_data, eval = FALSE-----------------------------------------------
# conn_primary <- get_connection(...)
# conn_secondary <- get_connection(...)
## ----example_data_hidden, eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
example_data <- dplyr::tbl(conn_primary, DBI::Id(table = "example_data"))
example_data
## ----example_1, eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
data <- head(example_data, 3)
update_snapshot(
.data = data,
conn = conn_primary,
db_table = "mtcars", # the name of the DB table to store the data in
timestamp = "2020-01-01 11:00:00"
)
## ----example_2, eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
# Let's say that the next day, our data set is now the first 5 of our example data
data <- head(example_data, 5)
update_snapshot(
.data = data,
conn = conn_primary,
db_table = "mtcars", # the name of the DB table to store the data in
timestamp = "2020-01-02 12:00:00"
)
## ----example_2_results_a, eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
get_table(conn_primary, "mtcars", slice_ts = NULL)
## ----delta_1_export, eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
delta_1 <- delta_export(
conn = conn_primary,
db_table = "mtcars",
timestamp_from = "2020-01-01 11:00:00"
)
delta_1
## ----delta_1_load, eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
delta_load(
conn = conn_secondary,
db_table = "mtcars_firewalled",
delta = delta_1
)
get_table(conn_secondary, "mtcars_firewalled", slice_ts = NULL)
## ----example_3, eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
data <- head(example_data, 5) %>%
dplyr::mutate(hp = ifelse(car == "Mazda RX4", hp / 2, hp))
update_snapshot(
.data = data,
conn = conn_primary,
db_table = "mtcars", # the name of the DB table to store the data in
timestamp = "2020-01-03 13:00:00"
)
## ----example_4, eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
data <- head(example_data, 7) %>%
dplyr::mutate(hp = ifelse(car == "Mazda RX4", hp / 2, hp))
update_snapshot(
.data = data,
conn = conn_primary,
db_table = "mtcars", # the name of the DB table to store the data in
timestamp = "2020-01-04 14:00:00"
)
## ----example_4_results_a, eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
get_table(conn_primary, "mtcars", slice_ts = NULL)
## ----delta_2_export, eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
delta_2 <- delta_export(
conn = conn_primary,
db_table = "mtcars",
timestamp_from = "2020-01-03 13:00:00"
)
delta_2
## ----delta_2_load, eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
delta_load(
conn = conn_secondary,
db_table = "mtcars_firewalled",
delta = delta_2
)
get_table(conn_secondary, "mtcars_firewalled", slice_ts = NULL)
## ----delta_batch_export, eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
delta_batch_1 <- delta_export(
conn = conn_primary,
db_table = "mtcars",
timestamp_from = "2020-01-01 11:00:00",
timestamp_until = "2020-01-03 13:00:00"
)
delta_batch_2 <- delta_export(
conn = conn_primary,
db_table = "mtcars",
timestamp_from = "2020-01-03 13:00:00"
)
## ----delta_batch_load, eval = rlang::is_installed("duckdb") && R.version$major >= "4"----
delta_load(
conn = conn_secondary,
db_table = "mtcars_batch",
delta = list(delta_batch_1, delta_batch_2)
)
get_table(conn_secondary, "mtcars_batch", slice_ts = NULL)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.