Skip to content
Snippets Groups Projects
Commit cd1df662 authored by Reynold Xin's avatar Reynold Xin
Browse files

[SPARK-11485][SQL] Make DataFrameHolder and DatasetHolder public.

These two classes should be public, since they are used in public code.

Author: Reynold Xin <rxin@databricks.com>

Closes #9445 from rxin/SPARK-11485.
parent 27feafcc
No related branches found
No related tags found
No related merge requests found
......@@ -161,6 +161,9 @@ object MimaExcludes {
"org.apache.spark.sql.UDFRegistration.org$apache$spark$sql$UDFRegistration$$builder$23"),
ProblemFilters.exclude[MissingMethodProblem](
"org.apache.spark.sql.UDFRegistration.org$apache$spark$sql$UDFRegistration$$builder$24")
) ++ Seq(
// SPARK-11485
ProblemFilters.exclude[MissingMethodProblem]("org.apache.spark.sql.DataFrameHolder.df")
)
case v if v.startsWith("1.5") =>
Seq(
......
......@@ -20,9 +20,14 @@ package org.apache.spark.sql
/**
* A container for a [[DataFrame]], used for implicit conversions.
*
* To use this, import implicit conversions in SQL:
* {{{
* import sqlContext.implicits._
* }}}
*
* @since 1.3.0
*/
private[sql] case class DataFrameHolder(df: DataFrame) {
case class DataFrameHolder private[sql](private val df: DataFrame) {
// This is declared with parentheses to prevent the Scala compiler from treating
// `rdd.toDF("1")` as invoking this toDF and then apply on the returned DataFrame.
......
......@@ -18,11 +18,16 @@
package org.apache.spark.sql
/**
* A container for a [[DataFrame]], used for implicit conversions.
* A container for a [[Dataset]], used for implicit conversions.
*
* @since 1.3.0
* To use this, import implicit conversions in SQL:
* {{{
* import sqlContext.implicits._
* }}}
*
* @since 1.6.0
*/
private[sql] case class DatasetHolder[T](df: Dataset[T]) {
case class DatasetHolder[T] private[sql](private val df: Dataset[T]) {
// This is declared with parentheses to prevent the Scala compiler from treating
// `rdd.toDF("1")` as invoking this toDF and then apply on the returned DataFrame.
......
......@@ -52,6 +52,10 @@ abstract class SQLImplicits {
DatasetHolder(_sqlContext.createDataset(rdd))
}
/**
* Creates a [[Dataset]] from a local Seq.
* @since 1.6.0
*/
implicit def localSeqToDatasetHolder[T : Encoder](s: Seq[T]): DatasetHolder[T] = {
DatasetHolder(_sqlContext.createDataset(s))
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment