Read a JSON file into a Spark DataFrame

Read a table serialized in the JavaScript Object Notation format into a Spark DataFrame.

spark_read_json(sc, name = NULL, path = name, 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 driver options for the config key spark.driver.extraJavaOptions For instructions on how to configure s3n:// check the hadoop documentation: s3n authentication properties

See also