Read a table serialized in the JavaScript Object Notation format into a Spark DataFrame.
spark_read_json(sc, name, path, options = list(), repartition = 0,
memory = TRUE, overwrite = TRUE, columns = NULL, ...)
A spark_connection
.
The name to assign to the newly generated table.
The path to the file. Needs to be accessible from the cluster. Supports the "hdfs://", "s3a://" and "file://" protocols.
A list of strings with additional options.
The number of partitions used to distribute the generated table. Use 0 (the default) to avoid partitioning.
Boolean; should the data be loaded eagerly into memory? (That is, should the table be cached?)
Boolean; overwrite the table with the given name if it already exists?
A vector of column names or a named vector of column types.
Optional arguments; currently unused.
You can read data from HDFS (hdfs://
), S3 (s3a://
), as well as
the local file system (file://
).
If you are reading from a secure S3 bucket be sure to set the following in your spark-defaults.conf
spark.hadoop.fs.s3a.access.key
, spark.hadoop.fs.s3a.secret.key
or any of the methods outlined in the aws-sdk
documentation Working with AWS credentials
In order to work with the newer s3a://
protocol also set the values for spark.hadoop.fs.s3a.impl
and spark.hadoop.fs.s3a.endpoint
.
In addition, to support v4 of the S3 api be sure to pass the -Dcom.amazonaws.services.s3.enableV4
driver options
for the config key spark.driver.extraJavaOptions
For instructions on how to configure s3n://
check the hadoop documentation:
s3n authentication properties
Other Spark serialization routines: spark_load_table
,
spark_read_csv
,
spark_read_jdbc
,
spark_read_libsvm
,
spark_read_parquet
,
spark_read_source
,
spark_read_table
,
spark_read_text
,
spark_save_table
,
spark_write_csv
,
spark_write_jdbc
,
spark_write_json
,
spark_write_parquet
,
spark_write_source
,
spark_write_table
,
spark_write_text