From d4c397a64af4cec899fdaa3e617ed20333cc567d Mon Sep 17 00:00:00 2001 From: Nong Li <nongli@gmail.com> Date: Mon, 26 Oct 2015 18:27:02 -0700 Subject: [PATCH] [SPARK-11325] [SQL] Alias 'alias' in Scala's DataFrame API Author: Nong Li <nongli@gmail.com> Closes #9286 from nongli/spark-11325. --- .../scala/org/apache/spark/sql/DataFrame.scala | 14 ++++++++++++++ .../org/apache/spark/sql/DataFrameSuite.scala | 7 +++++++ 2 files changed, 21 insertions(+) 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 @@ -698,6 +698,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. * {{{ 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") -- GitLab