spark常用方法

目录

数组常用方法

列表操作常用方法

集合操作常用方法

 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筛选符合条件的数据

2select()/selectExpr()/col()/apply()方法

(1)select()方法:获取指定字段值

select方法根据传入的string类型字段名,获取指定字段的值,以DataFrame类型返回

(2)selectExpr()方法:对指定字段进行特殊处理

selectExpr:对指定字段进行特殊处理,可以对指定字段调用UDF函数或者指定别名。

selectExpr传入String类型的参数,返回DataFrame对象。

(3)col()/apply()方法

col或者apply也可以获取DataFrame指定字段

col或者apply只能获取一个字段,并且返回对象为Column类型

  • 15
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值