目录
数组常用方法
列表操作常用方法
集合操作常用方法
Spark中的集合操作常用方法(转换操作)
使用join()方法连接两个RDD
查看DataFrame数据
show():查看数据
first()/head()/take()/takeAsList():获取若干条记录
直接在DataFrame对象上进行查询,DataFrame提供了很多查询的方法
数组常用方法
方法 | 描述 |
length | 返回数组的长度 |
head | 查看数组的第一个长度 |
tail | 查看数组中除了第一个以外的元素 |
isEmpty | 判断数组是否为空 |
contains(x) | 判断数组是否包含元素x |
数组是Scala中常用的一种数据结构,数组是一种存储了相同类型元素的固定大小的顺序集合。
列表操作常用方法
方法 | 描述 |
def head: A | 获取列表的第一个元素 |
def init:List[A] | 返回所有元素,除了最后一个元素 |
def last:A | 获取列表的最后一个元素 |
def tail:List[A] | 返回所有元素,除了第一个元素 |
def :::(prefix: List[A]): List[A] | 在列表开头添加指定列表的元素 |
def take(n: Int): List[A] | 获取列表前n个元素 |
def contains(elem: Any): Boolean | 判断列表是否包含指定元素 |
Scala中常用的查看列表元素的方法有:
head:查看列表的第一个元素。
tail:查看第一个元素之后的其余元素。
last:查看列表的最后一个元素。
Init:查看除最后一个元素外的所有元素。
take():查看列表前n个元素。
合并两个列表还可以使用concat()方法。
用户可以使用contains()方法判断列表中是否包含某个元素,若列表中存在指定的元素则返回true,否则返回false。
集合操作常用方法
方法 | 描述 |
def head: A | 获取集合的第一个元素 |
def init:Set[A] | 返回所有元素,除了最后一个 |
def last:A | 获取集合的最后一个元素 |
def tail:Set[A] | 返回所有元素,除了第一个 |
def ++(elems: A): Set[A] | 合并两个集合 |
def take(n: Int): List[A] | 获取列表前n个元素 |
def contains(elem: Any): Boolean | 判断集合中是否包含指定元素 |
Spark中的集合操作常用方法(转换操作)
方法 | 描述 |
union() | 参数是RDD,合并两个RDD的所有元素 |
intersection() | 参数是RDD,求出两个RDD的共同元素 |
subtract() | 参数是RDD,将原RDD里和参数RDD里相同的元素去掉 |
cartesian() | 参数是RDD,求两个RDD的笛卡儿积 |
使用join()方法连接两个RDD
将有键的一组数据与另一组有键的数据根据键进行连接,是对键值对数据常用的操作之一。
与合并不同,连接会对键相同的值进行合并,连接方式多种多样,包含内连接、右外连接、左外连接、全外连接,不同的连接方式需要使用不同的连接方法。
连接方法如下表。
连接方法 | 描述 |
join() | 对两个RDD进行内连接 |
rightOuterJoin() | 对两个RDD进行连接操作,确保第二个RDD的键必须存在(右外连接) |
leftOuterJoin() | 对两个RDD进行连接操作,确保第一个RDD的键必须存在(左外连接) |
fullOuterJoin() | 对两个RDD进行全外连接 |
查看DataFrame数据
方法 | 描述 |
printSchema | 打印数据模式 |
show | 查看数据 |
first/head/take/takeAsList | 获取若干行数据 |
collect/collectAsList | 获取所有数据 |
show():查看数据
方法 | 描述 |
show() | 显示前20条记录 |
show(numRows:Int) | 显示numRows |
show(truncate:Boolean) | 是否最多只显示20个字符,默认为true |
show(numRows:Int,truncate:Boolean) | 显示numRows条记录并设置过长字符串的显示格式 |
first()/head()/take()/takeAsList():获取若干条记录
方法 | 描述 |
first | 获取第一行记录 |
head(n:Int) | 获取前n行记录 |
take(n:Int) | 获取前n行记录 |
takeAsList(n:Int) | 获取前n行数据,并以列表的形式展现 |
直接在DataFrame对象上进行查询,DataFrame提供了很多查询的方法
方法 | 描述 |
where | 条件查询 |
select/selectExpr/col/apply | 查询指定字段的数据信息 |
limit | 查询前n行记录 |
order by | 排序查询 |
group by | 分组查询 |
join | 连接查询 |
(1)where()方法
DataFrame可以使用where(conditionExpr: String)根据指定条件进行查询
参数中可以使用and或or
该方法的返回结果仍然为DataFrame类型
(2)filter()方法
DataFrame还可使用filter筛选符合条件的数据
2.select()/selectExpr()/col()/apply()方法
(1)select()方法:获取指定字段值
select方法根据传入的string类型字段名,获取指定字段的值,以DataFrame类型返回
(2)selectExpr()方法:对指定字段进行特殊处理
selectExpr:对指定字段进行特殊处理,可以对指定字段调用UDF函数或者指定别名。
selectExpr传入String类型的参数,返回DataFrame对象。
(3)col()/apply()方法
col或者apply也可以获取DataFrame指定字段
col或者apply只能获取一个字段,并且返回对象为Column类型