Packages

class SQLContext extends Logging with Serializable

The entry point for working with structured data (rows and columns) in Spark 1.x.

As of Spark 2.0, this is replaced by SparkSession. However, we are keeping the class here for backward compatibility.

Self Type
SQLContext
Annotations
@Stable()
Since

1.0.0

Linear Supertypes
Serializable, Serializable, Logging, AnyRef, Any
Known Subclasses
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. SQLContext
  2. Serializable
  3. Serializable
  4. Logging
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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 baseRelationToDataFrame(baseRelation: BaseRelation): DataFrame

    Convert a BaseRelation created for external data sources into a DataFrame.

    Convert a BaseRelation created for external data sources into a DataFrame.

    Since

    1.3.0

  6. def cacheTable(tableName: String): Unit

    Caches the specified table in-memory.

    Caches the specified table in-memory.

    Since

    1.3.0

  7. def clearCache(): Unit

    Removes all cached tables from the in-memory cache.

    Removes all cached tables from the in-memory cache.

    Since

    1.3.0

  8. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  9. def createDataFrame(data: List[_], beanClass: Class[_]): DataFrame

    Applies a schema to a List of Java Beans.

    Applies a schema to a List of Java Beans.

    WARNING: Since there is no guaranteed ordering for fields in a Java Bean, SELECT * queries will return the columns in an undefined order.

    Since

    1.6.0

  10. def createDataFrame(rdd: JavaRDD[_], beanClass: Class[_]): DataFrame

    Applies a schema to an RDD of Java Beans.

    Applies a schema to an RDD of Java Beans.

    WARNING: Since there is no guaranteed ordering for fields in a Java Bean, SELECT * queries will return the columns in an undefined order.

    Since

    1.3.0

  11. def createDataFrame(rdd: RDD[_], beanClass: Class[_]): DataFrame

    Applies a schema to an RDD of Java Beans.

    Applies a schema to an RDD of Java Beans.

    WARNING: Since there is no guaranteed ordering for fields in a Java Bean, SELECT * queries will return the columns in an undefined order.

    Since

    1.3.0

  12. def createDataFrame(rows: List[Row], schema: StructType): DataFrame

    :: DeveloperApi :: Creates a DataFrame from a java.util.List containing Rows using the given schema.

    :: DeveloperApi :: Creates a DataFrame from a java.util.List containing Rows using the given schema. It is important to make sure that the structure of every Row of the provided List matches the provided schema. Otherwise, there will be runtime exception.

    Annotations
    @DeveloperApi() @Evolving()
    Since

    1.6.0

  13. def createDataFrame(rowRDD: JavaRDD[Row], schema: StructType): DataFrame

    :: DeveloperApi :: Creates a DataFrame from a JavaRDD containing Rows using the given schema.

    :: DeveloperApi :: Creates a DataFrame from a JavaRDD containing Rows using the given schema. It is important to make sure that the structure of every Row of the provided RDD matches the provided schema. Otherwise, there will be runtime exception.

    Annotations
    @DeveloperApi() @Evolving()
    Since

    1.3.0

  14. def createDataFrame(rowRDD: RDD[Row], schema: StructType): DataFrame

    :: DeveloperApi :: Creates a DataFrame from an RDD containing Rows using the given schema.

    :: DeveloperApi :: Creates a DataFrame from an RDD containing Rows using the given schema. It is important to make sure that the structure of every Row of the provided RDD matches the provided schema. Otherwise, there will be runtime exception. Example:

    import org.apache.spark.sql._
    import org.apache.spark.sql.types._
    val sqlContext = new org.apache.spark.sql.SQLContext(sc)
    
    val schema =
      StructType(
        StructField("name", StringType, false) ::
        StructField("age", IntegerType, true) :: Nil)
    
    val people =
      sc.textFile("examples/src/main/resources/people.txt").map(
        _.split(",")).map(p => Row(p(0), p(1).trim.toInt))
    val dataFrame = sqlContext.createDataFrame(people, schema)
    dataFrame.printSchema
    // root
    // |-- name: string (nullable = false)
    // |-- age: integer (nullable = true)
    
    dataFrame.createOrReplaceTempView("people")
    sqlContext.sql("select name from people").collect.foreach(println)
    Annotations
    @DeveloperApi() @Evolving()
    Since

    1.3.0

  15. def createDataFrame[A <: Product](data: Seq[A])(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[A]): DataFrame

    :: Experimental :: Creates a DataFrame from a local Seq of Product.

    :: Experimental :: Creates a DataFrame from a local Seq of Product.

    Annotations
    @Experimental() @Evolving()
    Since

    1.3.0

  16. def createDataFrame[A <: Product](rdd: RDD[A])(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[A]): DataFrame

    :: Experimental :: Creates a DataFrame from an RDD of Product (e.g.

    :: Experimental :: Creates a DataFrame from an RDD of Product (e.g. case classes, tuples).

    Annotations
    @Experimental() @Evolving()
    Since

    1.3.0

  17. def createDataset[T](data: List[T])(implicit arg0: Encoder[T]): Dataset[T]

    :: Experimental :: Creates a Dataset from a java.util.List of a given type.

    :: Experimental :: Creates a Dataset from a java.util.List of a given type. This method requires an encoder (to convert a JVM object of type T to and from the internal Spark SQL representation) that is generally created automatically through implicits from a SparkSession, or can be created explicitly by calling static methods on Encoders.

    Java Example

    List<String> data = Arrays.asList("hello", "world");
    Dataset<String> ds = spark.createDataset(data, Encoders.STRING());
    Annotations
    @Experimental() @Evolving()
    Since

    2.0.0

  18. def createDataset[T](data: RDD[T])(implicit arg0: Encoder[T]): Dataset[T]

    :: Experimental :: Creates a Dataset from an RDD of a given type.

    :: Experimental :: Creates a Dataset from an RDD of a given type. This method requires an encoder (to convert a JVM object of type T to and from the internal Spark SQL representation) that is generally created automatically through implicits from a SparkSession, or can be created explicitly by calling static methods on Encoders.

    Annotations
    @Experimental()
    Since

    2.0.0

  19. def createDataset[T](data: Seq[T])(implicit arg0: Encoder[T]): Dataset[T]

    :: Experimental :: Creates a Dataset from a local Seq of data of a given type.

    :: Experimental :: Creates a Dataset from a local Seq of data of a given type. This method requires an encoder (to convert a JVM object of type T to and from the internal Spark SQL representation) that is generally created automatically through implicits from a SparkSession, or can be created explicitly by calling static methods on Encoders.

    Example

    import spark.implicits._
    case class Person(name: String, age: Long)
    val data = Seq(Person("Michael", 29), Person("Andy", 30), Person("Justin", 19))
    val ds = spark.createDataset(data)
    
    ds.show()
    // +-------+---+
    // |   name|age|
    // +-------+---+
    // |Michael| 29|
    // |   Andy| 30|
    // | Justin| 19|
    // +-------+---+
    Annotations
    @Experimental() @Evolving()
    Since

    2.0.0

  20. def dropTempTable(tableName: String): Unit

    Drops the temporary table with the given table name in the catalog.

    Drops the temporary table with the given table name in the catalog. If the table has been cached/persisted before, it's also unpersisted.

    tableName

    the name of the table to be unregistered.

    Since

    1.3.0

  21. def emptyDataFrame: DataFrame

    Returns a DataFrame with no rows or columns.

    Returns a DataFrame with no rows or columns.

    Since

    1.3.0

  22. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  24. def experimental: ExperimentalMethods

    :: Experimental :: A collection of methods that are considered experimental, but can be used to hook into the query planner for advanced functionality.

    :: Experimental :: A collection of methods that are considered experimental, but can be used to hook into the query planner for advanced functionality.

    Annotations
    @Experimental() @transient() @Unstable()
    Since

    1.3.0

  25. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  26. def getAllConfs: Map[String, String]

    Return all the configuration properties that have been set (i.e.

    Return all the configuration properties that have been set (i.e. not the default). This creates a new copy of the config properties in the form of a Map.

    Since

    1.0.0

  27. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  28. def getConf(key: String, defaultValue: String): String

    Return the value of Spark SQL configuration property for the given key.

    Return the value of Spark SQL configuration property for the given key. If the key is not set yet, return defaultValue.

    Since

    1.0.0

  29. def getConf(key: String): String

    Return the value of Spark SQL configuration property for the given key.

    Return the value of Spark SQL configuration property for the given key.

    Since

    1.0.0

  30. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  31. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean = false): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  32. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  33. def isCached(tableName: String): Boolean

    Returns true if the table is currently cached in-memory.

    Returns true if the table is currently cached in-memory.

    Since

    1.3.0

  34. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  35. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  36. def listenerManager: ExecutionListenerManager

    An interface to register custom org.apache.spark.sql.util.QueryExecutionListeners that listen for execution metrics.

    An interface to register custom org.apache.spark.sql.util.QueryExecutionListeners that listen for execution metrics.

    Annotations
    @Experimental() @Evolving()
  37. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  38. def logDebug(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  39. def logDebug(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  40. def logError(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  41. def logError(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  42. def logInfo(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  43. def logInfo(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  44. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  45. def logTrace(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  46. def logTrace(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  47. def logWarning(msg: ⇒ String, throwable: Throwable): 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. def newSession(): SQLContext

    Returns a SQLContext as new session, with separated SQL configurations, temporary tables, registered functions, but sharing the same SparkContext, cached data and other things.

    Returns a SQLContext as new session, with separated SQL configurations, temporary tables, registered functions, but sharing the same SparkContext, cached data and other things.

    Since

    1.6.0

  51. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  52. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  53. def range(start: Long, end: Long, step: Long, numPartitions: Int): DataFrame

    :: Experimental :: Creates a DataFrame with a single LongType column named id, containing elements in an range from start to end (exclusive) with an step value, with partition number specified.

    :: Experimental :: Creates a DataFrame with a single LongType column named id, containing elements in an range from start to end (exclusive) with an step value, with partition number specified.

    Annotations
    @Experimental() @Evolving()
    Since

    1.4.0

  54. def range(start: Long, end: Long, step: Long): DataFrame

    :: Experimental :: Creates a DataFrame with a single LongType column named id, containing elements in a range from start to end (exclusive) with a step value.

    :: Experimental :: Creates a DataFrame with a single LongType column named id, containing elements in a range from start to end (exclusive) with a step value.

    Annotations
    @Experimental() @Evolving()
    Since

    2.0.0

  55. def range(start: Long, end: Long): DataFrame

    :: Experimental :: Creates a DataFrame with a single LongType column named id, containing elements in a range from start to end (exclusive) with step value 1.

    :: Experimental :: Creates a DataFrame with a single LongType column named id, containing elements in a range from start to end (exclusive) with step value 1.

    Annotations
    @Experimental() @Evolving()
    Since

    1.4.0

  56. def range(end: Long): DataFrame

    :: Experimental :: Creates a DataFrame with a single LongType column named id, containing elements in a range from 0 to end (exclusive) with step value 1.

    :: Experimental :: Creates a DataFrame with a single LongType column named id, containing elements in a range from 0 to end (exclusive) with step value 1.

    Annotations
    @Experimental() @Evolving()
    Since

    1.4.1

  57. def read: DataFrameReader

    Returns a DataFrameReader that can be used to read non-streaming data in as a DataFrame.

    Returns a DataFrameReader that can be used to read non-streaming data in as a DataFrame.

    sqlContext.read.parquet("/path/to/file.parquet")
    sqlContext.read.schema(schema).json("/path/to/file.json")
    Since

    1.4.0

  58. def readStream: DataStreamReader

    Returns a DataStreamReader that can be used to read streaming data in as a DataFrame.

    Returns a DataStreamReader that can be used to read streaming data in as a DataFrame.

    sparkSession.readStream.parquet("/path/to/directory/of/parquet/files")
    sparkSession.readStream.schema(schema).json("/path/to/directory/of/json/files")
    Annotations
    @Evolving()
    Since

    2.0.0

  59. def setConf(key: String, value: String): Unit

    Set the given Spark SQL configuration property.

    Set the given Spark SQL configuration property.

    Since

    1.0.0

  60. def setConf(props: Properties): Unit

    Set Spark SQL configuration properties.

    Set Spark SQL configuration properties.

    Since

    1.0.0

  61. def sparkContext: SparkContext
  62. val sparkSession: SparkSession
  63. def sql(sqlText: String): DataFrame

    Executes a SQL query using Spark, returning the result as a DataFrame.

    Executes a SQL query using Spark, returning the result as a DataFrame. The dialect that is used for SQL parsing can be configured with 'spark.sql.dialect'.

    Since

    1.3.0

  64. def streams: StreamingQueryManager

    Returns a StreamingQueryManager that allows managing all the StreamingQueries active on this context.

    Returns a StreamingQueryManager that allows managing all the StreamingQueries active on this context.

    Since

    2.0.0

  65. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  66. def table(tableName: String): DataFrame

    Returns the specified table as a DataFrame.

    Returns the specified table as a DataFrame.

    Since

    1.3.0

  67. def tableNames(databaseName: String): Array[String]

    Returns the names of tables in the given database as an array.

    Returns the names of tables in the given database as an array.

    Since

    1.3.0

  68. def tableNames(): Array[String]

    Returns the names of tables in the current database as an array.

    Returns the names of tables in the current database as an array.

    Since

    1.3.0

  69. def tables(databaseName: String): DataFrame

    Returns a DataFrame containing names of existing tables in the given database.

    Returns a DataFrame containing names of existing tables in the given database. The returned DataFrame has two columns, tableName and isTemporary (a Boolean indicating if a table is a temporary one or not).

    Since

    1.3.0

  70. def tables(): DataFrame

    Returns a DataFrame containing names of existing tables in the current database.

    Returns a DataFrame containing names of existing tables in the current database. The returned DataFrame has two columns, tableName and isTemporary (a Boolean indicating if a table is a temporary one or not).

    Since

    1.3.0

  71. def toString(): String
    Definition Classes
    AnyRef → Any
  72. def udf: UDFRegistration

    A collection of methods for registering user-defined functions (UDF).

    A collection of methods for registering user-defined functions (UDF).

    The following example registers a Scala closure as UDF:

    sqlContext.udf.register("myUDF", (arg1: Int, arg2: String) => arg2 + arg1)

    The following example registers a UDF in Java:

    sqlContext.udf().register("myUDF",
        (Integer arg1, String arg2) -> arg2 + arg1,
        DataTypes.StringType);
    Since

    1.3.0

    Note

    The user-defined functions must be deterministic. Due to optimization, duplicate invocations may be eliminated or the function may even be invoked more times than it is present in the query.

  73. def uncacheTable(tableName: String): Unit

    Removes the specified table from the in-memory cache.

    Removes the specified table from the in-memory cache.

    Since

    1.3.0

  74. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  75. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  76. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  77. object implicits extends SQLImplicits with Serializable

    :: Experimental :: (Scala-specific) Implicit methods available in Scala for converting common Scala objects into DataFrames.

    :: Experimental :: (Scala-specific) Implicit methods available in Scala for converting common Scala objects into DataFrames.

    val sqlContext = new SQLContext(sc)
    import sqlContext.implicits._
    Annotations
    @Experimental() @Evolving()
    Since

    1.3.0

Deprecated Value Members

  1. def createExternalTable(tableName: String, source: String, schema: StructType, options: Map[String, String]): DataFrame

    (Scala-specific) Create an external table from the given path based on a data source, a schema and a set of options.

    (Scala-specific) Create an external table from the given path based on a data source, a schema and a set of options. Then, returns the corresponding DataFrame.

    Annotations
    @deprecated
    Deprecated

    (Since version 2.2.0) use sparkSession.catalog.createTable instead.

    Since

    1.3.0

  2. def createExternalTable(tableName: String, source: String, schema: StructType, options: Map[String, String]): DataFrame

    Create an external table from the given path based on a data source, a schema and a set of options.

    Create an external table from the given path based on a data source, a schema and a set of options. Then, returns the corresponding DataFrame.

    Annotations
    @deprecated
    Deprecated

    (Since version 2.2.0) use sparkSession.catalog.createTable instead.

    Since

    1.3.0

  3. def createExternalTable(tableName: String, source: String, options: Map[String, String]): DataFrame

    (Scala-specific) Creates an external table from the given path based on a data source and a set of options.

    (Scala-specific) Creates an external table from the given path based on a data source and a set of options. Then, returns the corresponding DataFrame.

    Annotations
    @deprecated
    Deprecated

    (Since version 2.2.0) use sparkSession.catalog.createTable instead.

    Since

    1.3.0

  4. def createExternalTable(tableName: String, source: String, options: Map[String, String]): DataFrame

    Creates an external table from the given path based on a data source and a set of options.

    Creates an external table from the given path based on a data source and a set of options. Then, returns the corresponding DataFrame.

    Annotations
    @deprecated
    Deprecated

    (Since version 2.2.0) use sparkSession.catalog.createTable instead.

    Since

    1.3.0

  5. def createExternalTable(tableName: String, path: String, source: String): DataFrame

    Creates an external table from the given path based on a data source and returns the corresponding DataFrame.

    Creates an external table from the given path based on a data source and returns the corresponding DataFrame.

    Annotations
    @deprecated
    Deprecated

    (Since version 2.2.0) use sparkSession.catalog.createTable instead.

    Since

    1.3.0

  6. def createExternalTable(tableName: String, path: String): DataFrame

    Creates an external table from the given path and returns the corresponding DataFrame.

    Creates an external table from the given path and returns the corresponding DataFrame. It will use the default data source configured by spark.sql.sources.default.

    Annotations
    @deprecated
    Deprecated

    (Since version 2.2.0) use sparkSession.catalog.createTable instead.

    Since

    1.3.0

Inherited from Serializable

Inherited from Serializable

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Basic Operations

Cached Table Management

Configuration

dataframe

Custom DataFrame Creation

Custom Dataset Creation

Persistent Catalog DDL

Generic Data Sources

Support functions for language integrated queries