简介
org.apache.spark.sql.Dataset是Spark SQL中核心的类,定义如下:
class Dataset[T] extends Serializable
DataFrame是Dataset[Row]的别名。
本文基于spark2.3.0.
下面是类方法简介。
类方法
Actions
collect(): Array[T]
返回一个数组,包含Dataset所有行的数据。
注意:所有数据会被加载进driver进程的内存。
collectAsList(): List[T]
同上,但是返回Java list。
count(): Long
数据行数
describe(cols: String*): DataFrame
计算指定列的统计指标,包括count, mean, stddev, min, and max.
head(): T
返回第一行
head(n: Int): Array[T]
返回前N行
first(): T
返回第一行,是head()的别名。
foreach(f: (T) ⇒ Unit): Unit
所有元素上应用f函数
foreachPartition(f: (Iterator[T]) ⇒ Unit): Unit
所有元素分区上应用f函数
reduce(func: (T, T) ⇒ T): T
根据映射函数func,对RDD中的元素进行二元计算,返回计算结果。
注意:提供的函数应满足交换律及结合律,否则计算结果将是非确定的。
show(numRows: Int, truncate: Int, vertical: Boolean): Unit
表格形式打印出数据。numRows:显示的行数,truncate:裁剪字符串类型值到指定长度,vertical:垂直打印。
show(numRows: Int, truncate: Int): Unit
show(numRows: Int, truncate: Boolean): Unit
show(truncate: Boolean): Unit
numRows=20 truncate=20
show(numRows: Int): Unit
truncate=20
show(): Unit
numRows=20 truncate=20
summary(statistics: String*): DataFrame
计算数据集statistics指定的指标,可指定 count, mean, stddev, min, approximate quartiles (percentiles at 25%, 50%, and 75%), and max.
如未指定则会计算全部。
take(n: Int): Array[T]
获取前n行
takeAsList(n: Int): List[T]
获取前n行保存为list
toLocalIterator(): Iterator[T]
返回一个所有行的迭代器
The iterator will consume