Class/Object

org.apache.spark.sql

SparkSession

Related Docs: object SparkSession | package sql

Permalink

class SparkSession extends Serializable with Logging

The entry point to programming Spark with the Dataset and DataFrame API.

To create a SparkSession, use the following builder pattern:

SparkSession.builder()
  .master("local")
  .appName("Word Count")
  .config("spark.some.config.option", "some-value").
  .getOrCreate()
Self Type
SparkSession
Source
SparkSession.scala
Linear Supertypes
Logging, Serializable, Serializable, AnyRef, Any
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. SparkSession
  2. Logging
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def applySchemaToPythonRDD(rdd: RDD[Array[Any]], schema: StructType): DataFrame

    Permalink

    Apply a schema defined by the schema to an RDD.

    Apply a schema defined by the schema to an RDD. It is only used by PySpark.

    Attributes
    protected[org.apache.spark.sql]
  5. def applySchemaToPythonRDD(rdd: RDD[Array[Any]], schemaString: String): DataFrame

    Permalink

    Apply a schema defined by the schemaString to an RDD.

    Apply a schema defined by the schemaString to an RDD. It is only used by PySpark.

    Attributes
    protected[org.apache.spark.sql]
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def baseRelationToDataFrame(baseRelation: BaseRelation): DataFrame

    Permalink

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

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

    Since

    2.0.0

  8. def cacheManager: CacheManager

    Permalink
    Attributes
    protected[org.apache.spark.sql]
  9. lazy val catalog: Catalog

    Permalink

    Interface through which the user may create, drop, alter or query underlying databases, tables, functions etc.

    Interface through which the user may create, drop, alter or query underlying databases, tables, functions etc.

    Since

    2.0.0

  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. lazy val conf: RuntimeConfig

    Permalink

    Runtime configuration interface for Spark.

    Runtime configuration interface for Spark.

    This is the interface through which the user can get and set all Spark and Hadoop configurations that are relevant to Spark SQL. When getting the value of a config, this defaults to the value set in the underlying SparkContext, if any.

    Since

    2.0.0

  12. def createDataFrame(rowRDD: RDD[Row], schema: StructType, needsConversion: Boolean): DataFrame

    Permalink

    Creates a DataFrame from an RDD[Row].

    Creates a DataFrame from an RDD[Row]. User can specify whether the input rows should be converted to Catalyst rows.

    Attributes
    protected[org.apache.spark.sql]
  13. def createDataFrame(data: List[_], beanClass: Class[_]): DataFrame

    Permalink

    Applies a schema to an List of Java Beans.

    Applies a schema to an 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

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

    Permalink

    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

    2.0.0

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

    Permalink

    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

    2.0.0

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

    Permalink

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

    :: DeveloperApi :: Creates a DataFrame from an 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()
    Since

    2.0.0

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

    Permalink

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

    :: DeveloperApi :: Creates a DataFrame from an 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()
    Since

    2.0.0

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

    Permalink

    :: 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 sparkSession = new org.apache.spark.sql.SparkSession(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 = sparkSession.createDataFrame(people, schema)
    dataFrame.printSchema
    // root
    // |-- name: string (nullable = false)
    // |-- age: integer (nullable = true)
    
    dataFrame.createOrReplaceTempView("people")
    sparkSession.sql("select name from people").collect.foreach(println)
    Annotations
    @DeveloperApi()
    Since

    2.0.0

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

    Permalink

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

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

    Annotations
    @Experimental()
    Since

    2.0.0

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

    Permalink

    :: 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()
    Since

    2.0.0

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

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

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

    Permalink
  24. def createTempView(viewName: String, df: DataFrame, replaceIfExists: Boolean): Unit

    Permalink

    Creates a temporary view with a DataFrame.

    Creates a temporary view with a DataFrame. The lifetime of this temporary view is tied to this SparkSession.

    Attributes
    protected[org.apache.spark.sql]
  25. lazy val emptyDataFrame: DataFrame

    Permalink

    :: Experimental :: Returns a DataFrame with no rows or columns.

    :: Experimental :: Returns a DataFrame with no rows or columns.

    Since

    2.0.0

  26. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  27. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  28. def executePlan(plan: LogicalPlan): QueryExecution

    Permalink
    Attributes
    protected[org.apache.spark.sql]
  29. def executeSql(sql: String): QueryExecution

    Permalink
    Attributes
    protected[org.apache.spark.sql]
  30. def experimental: ExperimentalMethods

    Permalink

    :: 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()
    Since

    2.0.0

  31. def externalCatalog: ExternalCatalog

    Permalink
    Attributes
    protected[org.apache.spark.sql]
  32. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  33. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  34. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  35. object implicits extends SQLImplicits with Serializable

    Permalink

    :: 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 sparkSession = SparkSession.builder.getOrCreate()
    import sparkSession.implicits._
    Annotations
    @Experimental()
    Since

    2.0.0

  36. def initializeLogIfNecessary(isInterpreter: Boolean): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  37. def internalCreateDataFrame(catalystRows: RDD[InternalRow], schema: StructType): DataFrame

    Permalink

    Creates a DataFrame from an RDD[Row].

    Creates a DataFrame from an RDD[Row]. User can specify whether the input rows should be converted to Catalyst rows.

    Attributes
    protected[org.apache.spark.sql]
  38. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  39. def isTraceEnabled(): Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  40. def listener: SQLListener

    Permalink
    Attributes
    protected[org.apache.spark.sql]
  41. def listenerManager: ExecutionListenerManager

    Permalink

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

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

    Annotations
    @Experimental()
    Since

    2.0.0

  42. def log: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  43. def logDebug(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  44. def logDebug(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  45. def logError(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  46. def logError(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  47. def logInfo(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  48. def logInfo(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  49. def logName: String

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  50. def logTrace(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  51. def logTrace(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  52. def logWarning(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  53. def logWarning(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  54. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  55. def newSession(): SparkSession

    Permalink

    Start a new session with isolated SQL configurations, temporary tables, registered functions are isolated, but sharing the underlying SparkContext and cached data.

    Start a new session with isolated SQL configurations, temporary tables, registered functions are isolated, but sharing the underlying SparkContext and cached data.

    Note: Other than the SparkContext, all shared state is initialized lazily. This method will force the initialization of the shared state to ensure that parent and child sessions are set up with the same shared state. If the underlying catalog implementation is Hive, this will initialize the metastore, which may take some time.

    Since

    2.0.0

  56. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  57. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  58. def parseDataType(dataTypeString: String): DataType

    Permalink

    Parses the data type in our internal string representation.

    Parses the data type in our internal string representation. The data type string should have the same format as the one generated by toString in scala. It is only used by PySpark.

    Attributes
    protected[org.apache.spark.sql]
  59. def parseSql(sql: String): LogicalPlan

    Permalink
    Attributes
    protected[org.apache.spark.sql]
  60. def range(start: Long, end: Long, step: Long, numPartitions: Int): Dataset[Long]

    Permalink

    :: Experimental :: Creates a Dataset 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 Dataset 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()
    Since

    2.0.0

  61. def range(start: Long, end: Long, step: Long): Dataset[Long]

    Permalink

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

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

    Annotations
    @Experimental()
    Since

    2.0.0

  62. def range(start: Long, end: Long): Dataset[Long]

    Permalink

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

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

    Annotations
    @Experimental()
    Since

    2.0.0

  63. def range(end: Long): Dataset[Long]

    Permalink

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

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

    Annotations
    @Experimental()
    Since

    2.0.0

  64. def read: DataFrameReader

    Permalink

    :: Experimental :: Returns a DataFrameReader that can be used to read data and streams in as a DataFrame.

    :: Experimental :: Returns a DataFrameReader that can be used to read data and streams in as a DataFrame.

    sparkSession.read.parquet("/path/to/file.parquet")
    sparkSession.read.schema(schema).json("/path/to/file.json")
    Annotations
    @Experimental()
    Since

    2.0.0

  65. lazy val sessionState: SessionState

    Permalink

    State isolated across sessions, including SQL configurations, temporary tables, registered functions, and everything else that accepts a org.apache.spark.sql.internal.SQLConf.

    State isolated across sessions, including SQL configurations, temporary tables, registered functions, and everything else that accepts a org.apache.spark.sql.internal.SQLConf.

    Attributes
    protected[org.apache.spark.sql]
  66. def setWrappedContext(sqlContext: SQLContext): Unit

    Permalink
    Attributes
    protected[org.apache.spark.sql]
  67. lazy val sharedState: SharedState

    Permalink

    State shared across sessions, including the SparkContext, cached data, listener, and a catalog that interacts with external systems.

    State shared across sessions, including the SparkContext, cached data, listener, and a catalog that interacts with external systems.

    Attributes
    protected[org.apache.spark.sql]
  68. val sparkContext: SparkContext

    Permalink
  69. def sql(sqlText: String): DataFrame

    Permalink

    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

    2.0.0

  70. def stop(): Unit

    Permalink

    Stop the underlying SparkContext.

    Stop the underlying SparkContext.

    Since

    2.0.0

  71. def streams: ContinuousQueryManager

    Permalink

    Returns a ContinuousQueryManager that allows managing all the ContinuousQueries active on this.

    Returns a ContinuousQueryManager that allows managing all the ContinuousQueries active on this.

    Since

    2.0.0

  72. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  73. def table(tableIdent: TableIdentifier): DataFrame

    Permalink
    Attributes
    protected[org.apache.spark.sql]
  74. def table(tableName: String): DataFrame

    Permalink

    Returns the specified table as a DataFrame.

    Returns the specified table as a DataFrame.

    Since

    2.0.0

  75. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  76. def udf: UDFRegistration

    Permalink

    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:

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

    The following example registers a UDF in Java:

    sparkSession.udf().register("myUDF",
        new UDF2<Integer, String, String>() {
            @Override
            public String call(Integer arg1, String arg2) {
                return arg2 + arg1;
            }
       }, DataTypes.StringType);

    Or, to use Java 8 lambda syntax:

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

    2.0.0

  77. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  78. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  79. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  80. def wrapped: SQLContext

    Permalink
    Attributes
    protected[org.apache.spark.sql]

Inherited from Logging

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

basic

config

dataframes

dataset

ddl_ops

genericdata

Ungrouped