Packages

c

org.apache.spark.sql

DataFrameReader

class DataFrameReader extends Logging

Interface used to load a Dataset from external storage systems (e.g. file systems, key-value stores, etc). Use SparkSession.read to access this.

Annotations
@Stable()
Source
DataFrameReader.scala
Since

1.4.0

Linear Supertypes
Logging, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DataFrameReader
  2. Logging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. implicit class LogStringContext extends AnyRef
    Definition Classes
    Logging

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. def csv(paths: String*): DataFrame

    Loads CSV files and returns the result as a DataFrame.

    Loads CSV files and returns the result as a DataFrame.

    This function will go through the input once to determine the input schema if inferSchema is enabled. To avoid going through the entire data once, disable inferSchema option or specify the schema explicitly using schema.

    You can find the CSV-specific options for reading CSV files in Data Source Option in the version you use.

    Annotations
    @varargs()
    Since

    2.0.0

  7. def csv(csvDataset: Dataset[String]): DataFrame

    Loads an Dataset[String] storing CSV rows and returns the result as a DataFrame.

    Loads an Dataset[String] storing CSV rows and returns the result as a DataFrame.

    If the schema is not specified using schema function and inferSchema option is enabled, this function goes through the input once to determine the input schema.

    If the schema is not specified using schema function and inferSchema option is disabled, it determines the columns as string types and it reads only the first line to determine the names and the number of fields.

    If the enforceSchema is set to false, only the CSV header in the first line is checked to conform specified or inferred schema.

    csvDataset

    input Dataset with one CSV row per record

    Since

    2.2.0

    Note

    if header option is set to true when calling this API, all lines same with the header will be removed if exists.

  8. def csv(path: String): DataFrame

    Loads a CSV file and returns the result as a DataFrame.

    Loads a CSV file and returns the result as a DataFrame. See the documentation on the other overloaded csv() method for more details.

    Since

    2.0.0

  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. def format(source: String): DataFrameReader

    Specifies the input data source format.

    Specifies the input data source format.

    Since

    1.4.0

  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  14. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  15. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  18. def jdbc(url: String, table: String, predicates: Array[String], connectionProperties: Properties): DataFrame

    Construct a DataFrame representing the database table accessible via JDBC URL url named table using connection properties.

    Construct a DataFrame representing the database table accessible via JDBC URL url named table using connection properties. The predicates parameter gives a list expressions suitable for inclusion in WHERE clauses; each one defines one partition of the DataFrame.

    Don't create too many partitions in parallel on a large cluster; otherwise Spark might crash your external database systems.

    You can find the JDBC-specific option and parameter documentation for reading tables via JDBC in Data Source Option in the version you use.

    table

    Name of the table in the external database.

    predicates

    Condition in the where clause for each partition.

    connectionProperties

    JDBC database connection arguments, a list of arbitrary string tag/value. Normally at least a "user" and "password" property should be included. "fetchsize" can be used to control the number of rows per fetch.

    Since

    1.4.0

  19. def jdbc(url: String, table: String, columnName: String, lowerBound: Long, upperBound: Long, numPartitions: Int, connectionProperties: Properties): DataFrame

    Construct a DataFrame representing the database table accessible via JDBC URL url named table.

    Construct a DataFrame representing the database table accessible via JDBC URL url named table. Partitions of the table will be retrieved in parallel based on the parameters passed to this function.

    Don't create too many partitions in parallel on a large cluster; otherwise Spark might crash your external database systems.

    You can find the JDBC-specific option and parameter documentation for reading tables via JDBC in Data Source Option in the version you use.

    table

    Name of the table in the external database.

    columnName

    Alias of partitionColumn option. Refer to partitionColumn in Data Source Option in the version you use.

    connectionProperties

    JDBC database connection arguments, a list of arbitrary string tag/value. Normally at least a "user" and "password" property should be included. "fetchsize" can be used to control the number of rows per fetch and "queryTimeout" can be used to wait for a Statement object to execute to the given number of seconds.

    Since

    1.4.0

  20. def jdbc(url: String, table: String, properties: Properties): DataFrame

    Construct a DataFrame representing the database table accessible via JDBC URL url named table and connection properties.

    Construct a DataFrame representing the database table accessible via JDBC URL url named table and connection properties.

    You can find the JDBC-specific option and parameter documentation for reading tables via JDBC in Data Source Option in the version you use.

    Since

    1.4.0

  21. def json(jsonDataset: Dataset[String]): DataFrame

    Loads a Dataset[String] storing JSON objects (JSON Lines text format or newline-delimited JSON) and returns the result as a DataFrame.

    Loads a Dataset[String] storing JSON objects (JSON Lines text format or newline-delimited JSON) and returns the result as a DataFrame.

    Unless the schema is specified using schema function, this function goes through the input once to determine the input schema.

    jsonDataset

    input Dataset with one JSON object per record

    Since

    2.2.0

  22. def json(paths: String*): DataFrame

    Loads JSON files and returns the results as a DataFrame.

    Loads JSON files and returns the results as a DataFrame.

    JSON Lines (newline-delimited JSON) is supported by default. For JSON (one record per file), set the multiLine option to true.

    This function goes through the input once to determine the input schema. If you know the schema in advance, use the version that specifies the schema to avoid the extra scan.

    You can find the JSON-specific options for reading JSON files in Data Source Option in the version you use.

    Annotations
    @varargs()
    Since

    2.0.0

  23. def json(path: String): DataFrame

    Loads a JSON file and returns the results as a DataFrame.

    Loads a JSON file and returns the results as a DataFrame.

    See the documentation on the overloaded json() method with varargs for more details.

    Since

    1.4.0

  24. def load(paths: String*): DataFrame

    Loads input in as a DataFrame, for data sources that support multiple paths.

    Loads input in as a DataFrame, for data sources that support multiple paths. Only works if the source is a HadoopFsRelationProvider.

    Annotations
    @varargs()
    Since

    1.6.0

  25. def load(path: String): DataFrame

    Loads input in as a DataFrame, for data sources that require a path (e.g.

    Loads input in as a DataFrame, for data sources that require a path (e.g. data backed by a local or distributed file system).

    Since

    1.4.0

  26. def load(): DataFrame

    Loads input in as a DataFrame, for data sources that don't require a path (e.g.

    Loads input in as a DataFrame, for data sources that don't require a path (e.g. external key-value stores).

    Since

    1.4.0

  27. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  28. def logDebug(msg: => String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  29. def logDebug(entry: LogEntry, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  30. def logDebug(entry: LogEntry): Unit
    Attributes
    protected
    Definition Classes
    Logging
  31. def logDebug(msg: => String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  32. def logError(msg: => String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  33. def logError(entry: LogEntry, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  34. def logError(entry: LogEntry): Unit
    Attributes
    protected
    Definition Classes
    Logging
  35. def logError(msg: => String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  36. def logInfo(msg: => String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  37. def logInfo(entry: LogEntry, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  38. def logInfo(entry: LogEntry): Unit
    Attributes
    protected
    Definition Classes
    Logging
  39. def logInfo(msg: => String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  40. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  41. def logTrace(msg: => String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  42. def logTrace(entry: LogEntry, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  43. def logTrace(entry: LogEntry): Unit
    Attributes
    protected
    Definition Classes
    Logging
  44. def logTrace(msg: => String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  45. def logWarning(msg: => String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  46. def logWarning(entry: LogEntry, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  47. def logWarning(entry: LogEntry): Unit
    Attributes
    protected
    Definition Classes
    Logging
  48. def logWarning(msg: => String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  49. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  50. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  51. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  52. def option(key: String, value: Double): DataFrameReader

    Adds an input option for the underlying data source.

    Adds an input option for the underlying data source.

    All options are maintained in a case-insensitive way in terms of key names. If a new option has the same key case-insensitively, it will override the existing option.

    Since

    2.0.0

  53. def option(key: String, value: Long): DataFrameReader

    Adds an input option for the underlying data source.

    Adds an input option for the underlying data source.

    All options are maintained in a case-insensitive way in terms of key names. If a new option has the same key case-insensitively, it will override the existing option.

    Since

    2.0.0

  54. def option(key: String, value: Boolean): DataFrameReader

    Adds an input option for the underlying data source.

    Adds an input option for the underlying data source.

    All options are maintained in a case-insensitive way in terms of key names. If a new option has the same key case-insensitively, it will override the existing option.

    Since

    2.0.0

  55. def option(key: String, value: String): DataFrameReader

    Adds an input option for the underlying data source.

    Adds an input option for the underlying data source.

    All options are maintained in a case-insensitive way in terms of key names. If a new option has the same key case-insensitively, it will override the existing option.

    Since

    1.4.0

  56. def options(options: Map[String, String]): DataFrameReader

    Adds input options for the underlying data source.

    Adds input options for the underlying data source.

    All options are maintained in a case-insensitive way in terms of key names. If a new option has the same key case-insensitively, it will override the existing option.

    Since

    1.4.0

  57. def options(options: Map[String, String]): DataFrameReader

    (Scala-specific) Adds input options for the underlying data source.

    (Scala-specific) Adds input options for the underlying data source.

    All options are maintained in a case-insensitive way in terms of key names. If a new option has the same key case-insensitively, it will override the existing option.

    Since

    1.4.0

  58. def orc(paths: String*): DataFrame

    Loads ORC files and returns the result as a DataFrame.

    Loads ORC files and returns the result as a DataFrame.

    ORC-specific option(s) for reading ORC files can be found in Data Source Option in the version you use.

    paths

    input paths

    Annotations
    @varargs()
    Since

    2.0.0

  59. def orc(path: String): DataFrame

    Loads an ORC file and returns the result as a DataFrame.

    Loads an ORC file and returns the result as a DataFrame.

    path

    input path

    Since

    1.5.0

  60. def parquet(paths: String*): DataFrame

    Loads a Parquet file, returning the result as a DataFrame.

    Loads a Parquet file, returning the result as a DataFrame.

    Parquet-specific option(s) for reading Parquet files can be found in Data Source Option in the version you use.

    Annotations
    @varargs()
    Since

    1.4.0

  61. def parquet(path: String): DataFrame

    Loads a Parquet file, returning the result as a DataFrame.

    Loads a Parquet file, returning the result as a DataFrame. See the documentation on the other overloaded parquet() method for more details.

    Since

    2.0.0

  62. def schema(schemaString: String): DataFrameReader

    Specifies the schema by using the input DDL-formatted string.

    Specifies the schema by using the input DDL-formatted string. Some data sources (e.g. JSON) can infer the input schema automatically from data. By specifying the schema here, the underlying data source can skip the schema inference step, and thus speed up data loading.

    spark.read.schema("a INT, b STRING, c DOUBLE").csv("test.csv")
    Since

    2.3.0

  63. def schema(schema: StructType): DataFrameReader

    Specifies the input schema.

    Specifies the input schema. Some data sources (e.g. JSON) can infer the input schema automatically from data. By specifying the schema here, the underlying data source can skip the schema inference step, and thus speed up data loading.

    Since

    1.4.0

  64. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  65. def table(tableName: String): DataFrame

    Returns the specified table/view as a DataFrame.

    Returns the specified table/view as a DataFrame. If it's a table, it must support batch reading and the returned DataFrame is the batch scan query plan of this table. If it's a view, the returned DataFrame is simply the query plan of the view, which can either be a batch or streaming query plan.

    tableName

    is either a qualified or unqualified name that designates a table or view. If a database is specified, it identifies the table/view from the database. Otherwise, it first attempts to find a temporary view with the given name and then match the table/view from the current database. Note that, the global temporary view database is also valid here.

    Since

    1.4.0

  66. def text(paths: String*): DataFrame

    Loads text files and returns a DataFrame whose schema starts with a string column named "value", and followed by partitioned columns if there are any.

    Loads text files and returns a DataFrame whose schema starts with a string column named "value", and followed by partitioned columns if there are any. The text files must be encoded as UTF-8.

    By default, each line in the text files is a new row in the resulting DataFrame. For example:

    // Scala:
    spark.read.text("/path/to/spark/README.md")
    
    // Java:
    spark.read().text("/path/to/spark/README.md")

    You can find the text-specific options for reading text files in Data Source Option in the version you use.

    paths

    input paths

    Annotations
    @varargs()
    Since

    1.6.0

  67. def text(path: String): DataFrame

    Loads text files and returns a DataFrame whose schema starts with a string column named "value", and followed by partitioned columns if there are any.

    Loads text files and returns a DataFrame whose schema starts with a string column named "value", and followed by partitioned columns if there are any. See the documentation on the other overloaded text() method for more details.

    Since

    2.0.0

  68. def textFile(paths: String*): Dataset[String]

    Loads text files and returns a Dataset of String.

    Loads text files and returns a Dataset of String. The underlying schema of the Dataset contains a single string column named "value". The text files must be encoded as UTF-8.

    If the directory structure of the text files contains partitioning information, those are ignored in the resulting Dataset. To include partitioning information as columns, use text.

    By default, each line in the text files is a new row in the resulting DataFrame. For example:

    // Scala:
    spark.read.textFile("/path/to/spark/README.md")
    
    // Java:
    spark.read().textFile("/path/to/spark/README.md")

    You can set the text-specific options as specified in DataFrameReader.text.

    paths

    input path

    Annotations
    @varargs()
    Since

    2.0.0

  69. def textFile(path: String): Dataset[String]

    Loads text files and returns a Dataset of String.

    Loads text files and returns a Dataset of String. See the documentation on the other overloaded textFile() method for more details.

    Since

    2.0.0

  70. def toString(): String
    Definition Classes
    AnyRef → Any
  71. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  72. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  73. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  74. def withLogContext(context: HashMap[String, String])(body: => Unit): Unit
    Attributes
    protected
    Definition Classes
    Logging
  75. def xml(xmlDataset: Dataset[String]): DataFrame

    Loads an Dataset[String] storing XML object and returns the result as a DataFrame.

    Loads an Dataset[String] storing XML object and returns the result as a DataFrame.

    If the schema is not specified using schema function and inferSchema option is enabled, this function goes through the input once to determine the input schema.

    xmlDataset

    input Dataset with one XML object per record

    Since

    4.0.0

  76. def xml(paths: String*): DataFrame

    Loads XML files and returns the result as a DataFrame.

    Loads XML files and returns the result as a DataFrame.

    This function will go through the input once to determine the input schema if inferSchema is enabled. To avoid going through the entire data once, disable inferSchema option or specify the schema explicitly using schema.

    You can find the XML-specific options for reading XML files in Data Source Option in the version you use.

    Annotations
    @varargs()
    Since

    4.0.0

  77. def xml(path: String): DataFrame

    Loads a XML file and returns the result as a DataFrame.

    Loads a XML file and returns the result as a DataFrame. See the documentation on the other overloaded xml() method for more details.

    Since

    4.0.0

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  2. def json(jsonRDD: RDD[String]): DataFrame

    Loads an RDD[String] storing JSON objects (JSON Lines text format or newline-delimited JSON) and returns the result as a DataFrame.

    Loads an RDD[String] storing JSON objects (JSON Lines text format or newline-delimited JSON) and returns the result as a DataFrame.

    Unless the schema is specified using schema function, this function goes through the input once to determine the input schema.

    jsonRDD

    input RDD with one JSON object per record

    Annotations
    @deprecated
    Deprecated

    (Since version 2.2.0) Use json(Dataset[String]) instead.

    Since

    1.4.0

  3. def json(jsonRDD: JavaRDD[String]): DataFrame

    Loads a JavaRDD[String] storing JSON objects (JSON Lines text format or newline-delimited JSON) and returns the result as a DataFrame.

    Loads a JavaRDD[String] storing JSON objects (JSON Lines text format or newline-delimited JSON) and returns the result as a DataFrame.

    Unless the schema is specified using schema function, this function goes through the input once to determine the input schema.

    jsonRDD

    input RDD with one JSON object per record

    Annotations
    @deprecated
    Deprecated

    (Since version 2.2.0) Use json(Dataset[String]) instead.

    Since

    1.4.0

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped