aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorNong Li <nongli@gmail.com>2015-10-26 18:27:02 -0700
committerYin Huai <yhuai@databricks.com>2015-10-26 18:27:02 -0700
commitd4c397a64af4cec899fdaa3e617ed20333cc567d (patch)
treeace353a06742b4b2e07810fdffd8019368b7a1be /sql
parent4bb2b3698ffed58cc5159db36f8b11573ad26b23 (diff)
downloadspark-d4c397a64af4cec899fdaa3e617ed20333cc567d.tar.gz
spark-d4c397a64af4cec899fdaa3e617ed20333cc567d.tar.bz2
spark-d4c397a64af4cec899fdaa3e617ed20333cc567d.zip
[SPARK-11325] [SQL] Alias 'alias' in Scala's DataFrame API
Author: Nong Li <nongli@gmail.com> Closes #9286 from nongli/spark-11325.
Diffstat (limited to 'sql')
-rw-r--r--sql/core/src/main/scala/org/apache/spark/sql/DataFrame.scala14
-rw-r--r--sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala7
2 files changed, 21 insertions, 0 deletions
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/DataFrame.scala b/sql/core/src/main/scala/org/apache/spark/sql/DataFrame.scala
index 25ad3bb993..32d9b0b1d9 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/DataFrame.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/DataFrame.scala
@@ -699,6 +699,20 @@ class DataFrame private[sql](
def as(alias: Symbol): DataFrame = as(alias.name)
/**
+ * Returns a new [[DataFrame]] with an alias set. Same as `as`.
+ * @group dfops
+ * @since 1.6.0
+ */
+ def alias(alias: String): DataFrame = as(alias)
+
+ /**
+ * (Scala-specific) Returns a new [[DataFrame]] with an alias set. Same as `as`.
+ * @group dfops
+ * @since 1.6.0
+ */
+ def alias(alias: Symbol): DataFrame = as(alias)
+
+ /**
* Selects a set of column based expressions.
* {{{
* df.select($"colA", $"colB" + 1)
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
index f4c7aa34e5..59565a6b13 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
@@ -105,6 +105,13 @@ class DataFrameSuite extends QueryTest with SharedSQLContext {
assert(testData.head(2).head.schema === testData.schema)
}
+ test("dataframe alias") {
+ val df = Seq(Tuple1(1)).toDF("c").as("t")
+ val dfAlias = df.alias("t2")
+ df.col("t.c")
+ dfAlias.col("t2.c")
+ }
+
test("simple explode") {
val df = Seq(Tuple1("a b c"), Tuple1("d e")).toDF("words")