read_civis {civis} | R Documentation |
Read tables and files from Civis Platform
Description
read_civis
loads a table from Redshift as a data frame if
given a "schema.table"
or sql("query")
as the first argument, or
loads a file from Amazon S3 (the files endpoint) if a file id is given.
Run outputs from any Civis platform script
are returned if a civis_script
is given.
A default database can be set using options(civis.default_db = "my_database")
.
If there is only one database available,
this database will automatically be used as the default.
Usage
read_civis(x, ...)
## S3 method for class 'numeric'
read_civis(x, using = read.csv, verbose = FALSE, ...)
## S3 method for class 'character'
read_civis(x, database = NULL, ...)
## S3 method for class 'sql'
read_civis(
x,
database = NULL,
using = utils::read.csv,
job_name = NULL,
hidden = TRUE,
verbose = FALSE,
...
)
## S3 method for class 'civis_script'
read_civis(x, using, regex = NULL, ...)
Arguments
x |
|
... |
arguments passed to |
using |
function, Function to convert the file to a data frame or to unserialize.
the file (e.g. |
verbose |
bool, Set to TRUE to print intermediate progress indicators. |
database |
string, Name of database where data frame is to be uploaded.
If no database is specified, uses |
job_name |
string, Name of the job (default: |
bool, Whether the job is hidden. | |
regex |
Regex of matching run output names. |
Details
By default, read_civis.numeric
assumes the file is a CSV. For reading
a serialized R object, set using = readRDS
for example.
If using = NULL
, read_civis.civis_script
will return all JSONValues with name matching regex
.
Otherwise all File run outputs matching regex
will be read into memory
with using
.
Results are always a named list.
If the script has no outputs, an empty list will be returned.
Methods (by class)
-
read_civis(numeric)
: Return a file as a data frame -
read_civis(character)
: Return all columns from a table as a data frame. -
read_civis(sql)
: Return a SQL query as a data frame. -
read_civis(civis_script)
: Return run outputs of acivis_script
as a named list.
See Also
Other io:
download_civis()
,
query_civis_file()
,
query_civis()
,
write_civis_file()
,
write_civis()
Examples
## Not run:
# Read all columns in a single table
df <- read_civis("schema.my_table", database = "my_database")
# Read data from a SQL select statement
query <- sql("SELECT * FROM table JOIN other_table USING id WHERE var1 < 23")
df <- read_civis(query, database = "my_database")
# Read an R object from the files endpoint.
id <- write_civis_file(df)
df <- read_civis(id)
# Read a text file or csv from the files endpoint.
id <- write_civis_file("my_csv.csv")
df <- read_civis(id)
# Read JSONValues from a civis script
vals <- read_civis(civis_script(1234))
# Read File run outputs from a civis script
df <- read_civis(civis_script(1234), regex = '.csv', using = read.csv)
obj <- read_civis(civis_script(1234), regex = '.rds', using = readRDS)
# Gracefully handle when read_civis.sql returns no rows
query <- sql("SELECT * FROM table WHERE 1 = 2")
mean_x <- tryCatch({
df <- read_civis(query, database = "my_database")
mean(df$x)
}, empty_result_error = function(e) {
NA
})
## End(Not run)