Spark Basic RDD 操作示例
来源:互联网 发布:mac怎么更改u盘格式 编辑:程序博客网 时间:2024/06/05 20:18
Transformation
基本 RDD 的 transformation
假设有一个 RDD ,其中的元素有 {1, 2, 3, 3}:
map()
将函数应用到 RDD 中的每一个元素并以 RDD 的形式返回结果 rdd.map(x => x+1)
{2, 3, 4, 4} flatMap()
将函数应用到 RDD 中的每一个元素,并以 RDD 的形式返回 iterator 的内容。通常用于提取词语。 rdd.flatMap(x => x.to(3))
{1, 2, 3, 2, 3, 3, 3} filter()
返回一个 RDD, 该 RDD 中仅包含了能够通过 filter()
函数的元素 rdd.filter(x => x != 1)
{2, 3, 3} distinct()
去除重复项 rdd.distinct()
{1, 2, 3}两个 RDD 的 transformation
假设有两个 RDD, 分别包含了 {1, 2, 3} 和 {3, 4, 5}:
union()
并集,生成一个包含了两个 RDD 元素的 RDD rdd.union(other)
{1, 2, 3, 3, 4, 5} intersection()
交集,生成 RDD 包含了在两个 RDD 中同时出现的元素 rdd.intersection(other)
{3} subtract()
移除一个 RDD 中的内容 rdd.subtract(other)
{1, 2} cartesian()
以另一个 RDD 的 笛卡尔积 rdd.cartesian(other)
{(1, 3), (1, 4), (1, 5), (2, 3), (2, 4)}, …, (3, 5)Action
假设有一个 RDD ,其中的元素有 {1, 2, 3, 3}:
collect()
返回 RDD 中的所有元素 rdd.collect()
{1, 2, 3, 3} count()
RDD 中的元素数目 rdd.count()
4 countByValue()
RDD 中每个元素出现的次数 rdd.countByValue()
{(1, 1), (2, 1), (3, 2)} take(num)
返回 RDD 中的 num 个元素 rdd.take(2)
{1, 2} top(num)
返回 RDD 中的前 num 个元素 rdd.top(2)
{3, 3} takeOrdered(num)(ordering)
基于 ordering 返回 num 个元素 rdd.takeOrdered(2)(myOrdering)
{3, 3} takeSample(withReplacement, num, [seed])
随机返回 num 个元素 rdd.takeSample(false, 1)
不确定 reduce(func)
并行地组合 RDD 中的元素(比如,sum) rdd.reduce((x, y) => x + y)
9 fold(zero)(func)
与 reduce()
一样只是需要提供一个 0 rdd.fold(0)((x, y) => x + y)
9 aggregate(zeroValue)(seqop, combop)
与 reduce()
相似,不过用于返回不同类型 rdd.aggregate((0, 0))((x, y) => (x._1 + y, x._2 + 1), (x, y) => (x._1 + y._1, x._2 + y._2))
(9, 4) foreach(func)
将 func 应用到 RDD 中的每一个元素 rdd.foreach(func)
无以上内容参见 << Learning Spark >>, 其代码示例可在 GitHub 上找到 learning-spark.
阅读全文
0 0
- Spark Basic RDD 操作示例
- [Spark]Spark RDD 指南四 RDD操作
- Spark RDD操作
- spark RDD keyvalue操作
- Spark RDD transformation操作
- spark RDD transformation操作
- spark RDD 基本操作
- spark rdd 操作
- Spark RDD创建操作
- Spark中RDD操作
- Spark RDD基本操作
- spark-RDD集合操作
- Spark RDD基本操作
- spark rdd操作API
- Spark RDD操作讲解
- Spark RDD基础操作
- Spark入门RDD操作
- Spark RDD操作总结
- 数据库事务的四大特性以及事务的隔离级别
- Spring学习(二)
- 第36章 s域分析(下)
- 六一儿童节
- 数据结构 跳表SkipList的原理和代码实现
- Spark Basic RDD 操作示例
- springMVC实现文件上传 删除 下载
- 每段时间Android开发10个知道(基础系列)-170526
- Tensorflow编写过程中遇到的各种小问题汇总
- Codeforces 793C Mice Problem 几何(模拟)
- logj
- iwconfig连接WiFi 热点上网
- Java Scanner 类
- Linux禁止ping以及开启ping的方法