Transformation
Untyped API
首先啰嗦一句,Spark SQL Dataset中主要分为Transformation和Action两种API(这个特性沿用了Spark RDD的特性,其中的Transformation也有懒计算的猥琐特性)
下面主要通过对比SQL语句的方式来记录下如何从一个DataFrame中获取某个字段
首先有个DataFrame,如下
personDf.show()
|age| name| sex|
±–±----±-----+
| 32| Brad| male|
| 31| Anne|female|
| 4|Eason| male|
我们知道,如果是通过SQL语句(把上面的personDf比喻成一个表)选择其中的name列,只要简单的
SELECT name FROM personDf
即可
而在DataFrame中,同样有select这样的API,要完成上面的name这一列的展示也只是
personDf.select("name").show()
一行代码即可,感觉比SQL更简单了,有木有?
那么如何查看一个表的所有的列信息呢,有如下几种方法
personDf.printSchema
结果如下:
root
|-- age: long (nullable = true)
|-- name: string (null