[SPARK-6994][SQL] Update docs for fetching Row fields by name
add docs for https://issues.apache.org/jira/browse/SPARK-6994
Author: vidmantas zemleris <vidmantas@vinted.com>
Closes #6030 from vidma/docs/row-with-named-fields and squashes the following commits:
241b401 [vidmantas zemleris] [SPARK-6994][SQL] Update docs for fetching Row fields by name
(cherry picked from commit 640f63b959
)
Signed-off-by: Reynold Xin <rxin@databricks.com>
This commit is contained in:
parent
c6b8148458
commit
6523fb81ba
|
@ -367,11 +367,18 @@ val people = sc.textFile("examples/src/main/resources/people.txt").map(_.split("
|
||||||
people.registerTempTable("people")
|
people.registerTempTable("people")
|
||||||
|
|
||||||
// SQL statements can be run by using the sql methods provided by sqlContext.
|
// SQL statements can be run by using the sql methods provided by sqlContext.
|
||||||
val teenagers = sqlContext.sql("SELECT name FROM people WHERE age >= 13 AND age <= 19")
|
val teenagers = sqlContext.sql("SELECT name, age FROM people WHERE age >= 13 AND age <= 19")
|
||||||
|
|
||||||
// The results of SQL queries are DataFrames and support all the normal RDD operations.
|
// The results of SQL queries are DataFrames and support all the normal RDD operations.
|
||||||
// The columns of a row in the result can be accessed by ordinal.
|
// The columns of a row in the result can be accessed by field index:
|
||||||
teenagers.map(t => "Name: " + t(0)).collect().foreach(println)
|
teenagers.map(t => "Name: " + t(0)).collect().foreach(println)
|
||||||
|
|
||||||
|
// or by field name:
|
||||||
|
teenagers.map(t => "Name: " + t.getAs[String]("name")).collect().foreach(println)
|
||||||
|
|
||||||
|
// row.getValuesMap[T] retrieves multiple columns at once into a Map[String, T]
|
||||||
|
teenagers.map(_.getValuesMap[Any](List("name", "age"))).collect().foreach(println)
|
||||||
|
// Map("name" -> "Justin", "age" -> 19)
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -538,7 +545,7 @@ peopleDataFrame.registerTempTable("people")
|
||||||
val results = sqlContext.sql("SELECT name FROM people")
|
val results = sqlContext.sql("SELECT name FROM people")
|
||||||
|
|
||||||
// The results of SQL queries are DataFrames and support all the normal RDD operations.
|
// The results of SQL queries are DataFrames and support all the normal RDD operations.
|
||||||
// The columns of a row in the result can be accessed by ordinal.
|
// The columns of a row in the result can be accessed by field index or by field name.
|
||||||
results.map(t => "Name: " + t(0)).collect().foreach(println)
|
results.map(t => "Name: " + t(0)).collect().foreach(println)
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue