Extends QueryExecution with hive specific features.
Analyzes the given table in the current database to generate statistics, which will be used in query optimizations.
Analyzes the given table in the current database to generate statistics, which will be used in query optimizations.
Right now, it only supports Hive tables and it only updates the size of a Hive table in the Hive metastore.
1.2.0
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.
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.
Convert a BaseRelation created for external data sources into a DataFrame.
Convert a BaseRelation created for external data sources into a DataFrame.
1.3.0
Caches the specified table in-memory.
Caches the specified table in-memory.
1.3.0
Removes all cached tables from the in-memory cache.
Removes all cached tables from the in-memory cache.
1.3.0
Spark SQL configuration
Overridden by child classes that need to set configuration before the client init.
Overridden by child classes that need to set configuration before the client init.
When true, a table created by a Hive CTAS statement (no USING clause) will be converted to a data source table, using the data source set by spark.
When true, a table created by a Hive CTAS statement (no USING clause) will be converted to a data source table, using the data source set by spark.sql.sources.default. The table in CTAS statement will be converted when it meets any of the following conditions:
When true, enables an experimental feature where metastore tables that use the parquet SerDe are automatically converted to use the Spark SQL parquet table scan, instead of the Hive SerDe.
When true, enables an experimental feature where metastore tables that use the parquet SerDe are automatically converted to use the Spark SQL parquet table scan, instead of the Hive SerDe.
When true, also tries to merge possibly different but compatible Parquet schemas in different Parquet data files.
When true, also tries to merge possibly different but compatible Parquet schemas in different Parquet data files.
This configuration is only effective when "spark.sql.hive.convertMetastoreParquet" is true.
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.
1.3.0
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.
1.3.0
:: 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.
1.3.0
:: 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.registerTempTable("people") sqlContext.sql("select name from people").collect.foreach(println)
1.3.0
:: Experimental :: Creates a DataFrame from a local Seq of Product.
:: Experimental :: Creates a DataFrame from a local Seq of Product.
1.3.0
:: Experimental :: Creates a DataFrame from an RDD of case classes.
:: Experimental :: Creates a DataFrame from an RDD of case classes.
1.3.0
:: Experimental :: (Scala-specific) Create an external table from the given path based on a data source, a schema and a set of options.
:: Experimental :: (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.
1.3.0
:: Experimental :: Create an external table from the given path based on a data source, a schema and a set of options.
:: Experimental :: 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.
1.3.0
:: Experimental :: (Scala-specific) Creates an external table from the given path based on a data source and a set of options.
:: Experimental :: (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.
1.3.0
:: Experimental :: Creates an external table from the given path based on a data source and a set of options.
:: Experimental :: Creates an external table from the given path based on a data source and a set of options. Then, returns the corresponding DataFrame.
1.3.0
:: Experimental :: Creates an external table from the given path based on a data source and returns the corresponding DataFrame.
:: Experimental :: Creates an external table from the given path based on a data source and returns the corresponding DataFrame.
1.3.0
:: Experimental :: Creates an external table from the given path and returns the corresponding DataFrame.
:: Experimental :: 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.
1.3.0
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.
the name of the table to be unregistered.
1.3.0
:: Experimental :: Returns a DataFrame with no rows or columns.
:: Experimental :: Returns a DataFrame with no rows or columns.
1.3.0
The copy of the hive client that is used for execution.
The copy of the hive client that is used for execution. Currently this must always be Hive 13 as this is the version of Hive that is packaged with Spark SQL. This copy of the client is used for execution related tasks like registering temporary functions or ensuring that the ThreadLocal SessionState is correctly populated. This copy of Hive is *not* used for storing persistent metadata, and only point to a dummy metastore in a temporary directory.
:: 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.
1.3.0
Return all the configuration properties that have been set (i.
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.
1.0.0
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
.
1.0.0
Return the value of Spark SQL configuration property for the given key.
Return the value of Spark SQL configuration property for the given key.
1.0.0
Returns a Catalyst Schema for the given java bean class.
Returns a Catalyst Schema for the given java bean class.
A comma separated list of class prefixes that should explicitly be reloaded for each version of Hive that Spark SQL is communicating with.
A comma separated list of class prefixes that should explicitly be reloaded for each version of Hive that Spark SQL is communicating with. For example, Hive UDFs that are declared in a prefix that typically would be shared (i.e. org.apache.spark.*)
The location of the jars that should be used to instantiate the HiveMetastoreClient.
The location of the jars that should be used to instantiate the HiveMetastoreClient. This property can be one of three options:
A comma separated list of class prefixes that should be loaded using the classloader that is shared between Spark SQL and a specific version of Hive.
A comma separated list of class prefixes that should be loaded using the classloader that is shared between Spark SQL and a specific version of Hive. An example of classes that should be shared is JDBC drivers that are needed to talk to the metastore. Other classes that need to be shared are those that interact with classes that are already shared. For example, custom appenders that are used by log4j.
The version of the hive client that will be used to communicate with the metastore.
The version of the hive client that will be used to communicate with the metastore. Note that this does not necessarily need to be the same version of Hive that is used internally by Spark SQL for execution.
:: Experimental :: (Scala-specific) Implicit methods available in Scala for converting common Scala objects into DataFrames.
Returns true if the table is currently cached in-memory.
Returns true if the table is currently cached in-memory.
1.3.0
The copy of the Hive client that is used to retrieve metadata from the Hive MetaStore.
The copy of the Hive client that is used to retrieve metadata from the Hive MetaStore. The version of the Hive client that is used here must match the metastore that is configured in the hive-site.xml file.
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.
Prepares a planned SparkPlan for execution by inserting shuffle operations as needed.
Prepares a planned SparkPlan for execution by inserting shuffle operations as needed.
:: 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.
1.4.0
:: Experimental ::
Creates a DataFrame with a single LongType column named id
, containing elements
in an range from 0 to end
(exclusive) with step value 1.
:: Experimental ::
Creates a DataFrame with a single LongType column named id
, containing elements
in an range from 0 to end
(exclusive) with step value 1.
1.4.0
:: Experimental ::
Creates a DataFrame with a single LongType column named id
, containing elements
in an range from start
to end
(exclusive) with step value 1.
:: Experimental ::
Creates a DataFrame with a single LongType column named id
, containing elements
in an range from start
to end
(exclusive) with step value 1.
1.4.0
:: Experimental :: Returns a DataFrameReader that can be used to read data in as a DataFrame.
:: Experimental :: Returns a DataFrameReader that can be used to read data in as a DataFrame.
sqlContext.read.parquet("/path/to/file.parquet") sqlContext.read.schema(schema).json("/path/to/file.json")
1.4.0
Invalidate and refresh all the cached the metadata of the given table.
Invalidate and refresh all the cached the metadata of the given table. For performance reasons, Spark SQL or the external data source library it uses might cache certain metadata about a table, such as the location of blocks. When those change outside of Spark SQL, users should call this function to invalidate the cache.
1.3.0
Set the given Spark SQL configuration property.
Set the given Spark SQL configuration property.
1.0.0
Set Spark SQL configuration properties.
Set Spark SQL configuration properties.
1.0.0
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'.
1.3.0
Returns the specified table as a DataFrame.
Returns the specified table as a DataFrame.
1.3.0
Returns the names of tables in the given database as an array.
Returns the names of tables in the given database as an array.
1.3.0
Returns the names of tables in the current database as an array.
Returns the names of tables in the current database as an array.
1.3.0
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).
1.3.0
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).
1.3.0
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", 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:
sqlContext.udf().register("myUDF", (Integer arg1, String arg2) -> arg2 + arg1), DataTypes.StringType);
1.3.0 TODO move to SQLSession?
Removes the specified table from the in-memory cache.
Removes the specified table from the in-memory cache.
1.3.0
(Since version 1.3.0) use createDataFrame
(Since version 1.3.0) use createDataFrame
(Since version 1.3.0) use createDataFrame
(Since version 1.3.0) use createDataFrame
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. The theParts parameter gives a list expressions suitable for inclusion in WHERE clauses; each one defines one partition of the DataFrame.
(Since version 1.4.0) use read.jdbc()
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.
the name of a column of integral type that will be used for partitioning.
the minimum value of columnName
used to decide partition stride
the maximum value of columnName
used to decide partition stride
the number of partitions. the range minValue
-maxValue
will be split
evenly into this many partitions
(Since version 1.4.0) use read.jdbc()
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.
(Since version 1.4.0) use read.jdbc()
(Since version 1.4.0) Use read.json()
Loads a JSON file (one object per line) and applies the given schema, returning the result as a DataFrame.
Loads a JSON file (one object per line) and applies the given schema, returning the result as a DataFrame.
(Since version 1.4.0) Use read.json()
Loads a JSON file (one object per line), returning the result as a DataFrame.
Loads a JSON file (one object per line), returning the result as a DataFrame. It goes through the entire dataset once to determine the schema.
(Since version 1.4.0) Use read.json()
Loads a JavaRDD[String] storing JSON objects (one object per record) inferring the schema, returning the result as a DataFrame.
Loads a JavaRDD[String] storing JSON objects (one object per record) inferring the schema, returning the result as a DataFrame.
(Since version 1.4.0) Use read.json()
Loads an RDD[String] storing JSON objects (one object per record) inferring the schema, returning the result as a DataFrame.
Loads an RDD[String] storing JSON objects (one object per record) inferring the schema, returning the result as a DataFrame.
(Since version 1.4.0) Use read.json()
Loads an JavaRDD<String> storing JSON objects (one object per record) and applies the given schema, returning the result as a DataFrame.
Loads an JavaRDD<String> storing JSON objects (one object per record) and applies the given schema, returning the result as a DataFrame.
(Since version 1.4.0) Use read.json()
Loads an RDD[String] storing JSON objects (one object per record) and applies the given schema, returning the result as a DataFrame.
Loads an RDD[String] storing JSON objects (one object per record) and applies the given schema, returning the result as a DataFrame.
(Since version 1.4.0) Use read.json()
Loads an RDD[String] storing JSON objects (one object per record), returning the result as a DataFrame.
Loads an RDD[String] storing JSON objects (one object per record), returning the result as a DataFrame. It goes through the entire dataset once to determine the schema.
(Since version 1.4.0) Use read.json()
Loads an RDD[String] storing JSON objects (one object per record), returning the result as a DataFrame.
Loads an RDD[String] storing JSON objects (one object per record), returning the result as a DataFrame. It goes through the entire dataset once to determine the schema.
(Since version 1.4.0) Use read.json()
(Scala-specific) Returns the dataset specified by the given data source and a set of options as a DataFrame, using the given schema as the schema of the DataFrame.
(Scala-specific) Returns the dataset specified by the given data source and a set of options as a DataFrame, using the given schema as the schema of the DataFrame.
(Since version 1.4.0) Use read.format(source).schema(schema).options(options).load()
(Java-specific) Returns the dataset specified by the given data source and a set of options as a DataFrame, using the given schema as the schema of the DataFrame.
(Java-specific) Returns the dataset specified by the given data source and a set of options as a DataFrame, using the given schema as the schema of the DataFrame.
(Since version 1.4.0) Use read.format(source).schema(schema).options(options).load()
(Scala-specific) Returns the dataset specified by the given data source and a set of options as a DataFrame.
(Scala-specific) Returns the dataset specified by the given data source and a set of options as a DataFrame.
(Since version 1.4.0) Use read.format(source).options(options).load()
(Java-specific) Returns the dataset specified by the given data source and a set of options as a DataFrame.
(Java-specific) Returns the dataset specified by the given data source and a set of options as a DataFrame.
(Since version 1.4.0) Use read.format(source).options(options).load()
Returns the dataset stored at path as a DataFrame, using the given data source.
Returns the dataset stored at path as a DataFrame, using the given data source.
(Since version 1.4.0) Use read.format(source).load(path)
Returns the dataset stored at path as a DataFrame, using the default data source configured by spark.
Returns the dataset stored at path as a DataFrame, using the default data source configured by spark.sql.sources.default.
(Since version 1.4.0) Use read.load(path)
Loads a Parquet file, returning the result as a DataFrame.
Loads a Parquet file, returning the result as a DataFrame. This function returns an empty DataFrame if no paths are passed in.
(Since version 1.4.0) Use read.parquet()
An instance of the Spark SQL execution engine that integrates with data stored in Hive. Configuration for Hive is read from hive-site.xml on the classpath.
1.0.0