Provides a connection to a DuckDB database of the Star Wars data.
Alternatively, you can use starwars_db()
to manually connect to the
database using DBI::dbConnect()
and duckdb::duckdb()
.
Arguments
- dbdir
Location for database files. Should be a path to an existing directory in the file system. With the default (or
""
), all data is kept in RAM.- ...
Additional parameters passed to
DBI::dbConnect()
- con
A connection to the Star Wars database
Functions
starwars_connect()
: Connect to the DuckDB databasestarwars_disconnect()
: Disconnect from the DuckDB databasestarwars_db()
: Returns the path to the starwarsdb database
Examples
# Manually connect using {duckdb} and {DBI}
con <- DBI::dbConnect(
duckdb::duckdb(),
dbdir = starwars_db(),
read_only = TRUE
)
if (requireNamespace("dplyr", quietly = TRUE)) {
dplyr::tbl(con, "films")
}
#> # Source: table<films> [?? x 6]
#> # Database: DuckDB v1.3.2 [unknown@Linux 6.11.0-1018-azure:R 4.5.1//tmp/Rtmpry1Dte/starwarsdb1f757ad17c23/starwars.duckdb]
#> title episode_id opening_crawl director producer release_date
#> <chr> <int> <chr> <chr> <chr> <date>
#> 1 A New Hope 4 "It is a per… George … Gary Ku… 1977-05-25
#> 2 The Empire Strikes Ba… 5 "It is a dar… Irvin K… Gary Ku… 1980-05-17
#> 3 Return of the Jedi 6 "Luke Skywal… Richard… Howard … 1983-05-25
#> 4 The Phantom Menace 1 "Turmoil has… George … Rick Mc… 1999-05-19
#> 5 Attack of the Clones 2 "There is un… George … Rick Mc… 2002-05-16
#> 6 Revenge of the Sith 3 "War! The Re… George … Rick Mc… 2005-05-19
# Disconnect from that database (shutdown is specific to duckdb)
DBI::dbDisconnect(con, shutdown = TRUE)
# Or connect without worrying about connection details
con <- starwars_connect()
if (requireNamespace("dplyr", quietly = TRUE)) {
dplyr::tbl(con, "films")
}
#> # Source: table<films> [?? x 6]
#> # Database: DuckDB v1.3.2 [unknown@Linux 6.11.0-1018-azure:R 4.5.1/:memory:]
#> title episode_id opening_crawl director producer release_date
#> <chr> <int> <chr> <chr> <chr> <date>
#> 1 A New Hope 4 "It is a per… George … Gary Ku… 1977-05-25
#> 2 The Empire Strikes Ba… 5 "It is a dar… Irvin K… Gary Ku… 1980-05-17
#> 3 Return of the Jedi 6 "Luke Skywal… Richard… Howard … 1983-05-25
#> 4 The Phantom Menace 1 "Turmoil has… George … Rick Mc… 1999-05-19
#> 5 Attack of the Clones 2 "There is un… George … Rick Mc… 2002-05-16
#> 6 Revenge of the Sith 3 "War! The Re… George … Rick Mc… 2005-05-19
# Similarly, disconnect quickly without worrying about duckdb arguments
starwars_disconnect(con)