diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index c9f0165..be08a0a 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -37,6 +37,20 @@ jobs: extra-packages: any::pkgdown, local::. needs: website + - name: Cache Spark + id: cache-spark + uses: actions/cache@v2 + with: + path: /home/runner/spark/spark-3.3.4-bin-hadoop3 + key: sparklyr-spark-3.3.4-bin-hadoop3-3 + + - name: Install Spark (via sparklyr) + if: steps.cache-spark.outputs.cache-hit != 'true' + run: | + sparklyr::spark_install( + version = Sys.getenv("3.3.4"), + hadoop_version = Sys.getenv("3") + - name: Build site run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE) shell: Rscript {0} diff --git a/vignettes/articles/databases.Rmd b/vignettes/articles/databases.Rmd new file mode 100644 index 0000000..e3f4e53 --- /dev/null +++ b/vignettes/articles/databases.Rmd @@ -0,0 +1,103 @@ +--- +title: "Using Databases" +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + message = FALSE +) +``` + +## Setup + +We start by loading our packages and creating a simple fitted workflow using `mtcars`. + +```{r setup} +library(orbital) +library(recipes) +library(parsnip) +library(workflows) +``` + +```{r} +rec_spec <- recipe(mpg ~ disp, data = mtcars) |> + step_impute_mean(all_numeric_predictors()) |> + step_normalize(all_numeric_predictors()) + +lm_spec <- linear_reg() + +wf_spec <- workflow(rec_spec, lm_spec) +wf_fit <- fit(wf_spec, data = mtcars) +``` + +then create our orbital object. + +```{r} +orbital_obj <- orbital(wf_fit) +orbital_obj +``` + +## SQL + +```{r} +library(DBI) +library(RSQLite) + +con_sqlite <- dbConnect(SQLite(), path = ":memory:") +mtcars_sqlite <- copy_to(con_sqlite, mtcars, name = "mtcars_table") + +predict(orbital_obj, mtcars_sqlite) +``` + +```{r} +predict(orbital_obj, mtcars_sqlite) |> + collect() +``` + +## Spark + +```{r} +library(sparklyr) + +con_spark <- spark_connect(master = "local") +mtcars_spark <- copy_to(con_spark, mtcars, overwrite = TRUE) + +predict(orbital_obj, mtcars_spark) +``` + +```{r} +predict(orbital_obj, mtcars_spark) |> + collect() +``` + +## duckdb + +```{r} +library(duckdb) + +con_duckdb <- dbConnect(duckdb(dbdir = ":memory:")) +mtcars_duckdb <- dplyr::copy_to(con_duckdb, mtcars) + +predict(orbital_obj, mtcars_duckdb) +``` + +```{r} +predict(orbital_obj, mtcars_duckdb) |> + collect() +``` + +## arrow + +```{r} +library(arrow) +mtcars_arrow <- as_arrow_table(mtcars) + +predict(orbital_obj, mtcars_arrow) +``` + +```{r} +predict(orbital_obj, mtcars_arrow) |> + collect() +``` diff --git a/vignettes/supported-models.Rmd b/vignettes/supported-models.Rmd index dfa6166..ba37e69 100644 --- a/vignettes/supported-models.Rmd +++ b/vignettes/supported-models.Rmd @@ -2,7 +2,7 @@ title: "Supported Models and recipes steps" output: rmarkdown::html_vignette vignette: > - %\VignetteIndexEntry{supported-models} + %\VignetteIndexEntry{Supported Models and recipes steps} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} ---