当前位置:网站首页>Spark 算子之filter使用
Spark 算子之filter使用
2022-04-23 15:45:00 【逆风飞翔的小叔】
前言
filter,可以理解为过滤,直观来说,就是对一组数据按照指定的规则做过滤,filter这个算子在Java或者其他语言中多有使用,能够很方便的帮我们从一组数据中过滤得到期望的数据;
函数签名
def filter(f: T => Boolean ): RDD[T]
函数说明
将数据根据指定的规则进行筛选过滤,符合规则的数据保留,不符合规则的数据丢弃。 当数据进行筛选过滤后,分区不变,但是分区内的数据可能不均衡,生产环境下,可能会出现 数据倾斜;
案例一,从一组数据中过滤出偶数
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object Filter_Test {
def main(args: Array[String]): Unit = {
val sparkConf = new SparkConf().setMaster("local[*]").setAppName("Operator")
val sc = new SparkContext(sparkConf)
val rdd = sc.makeRDD(List(1,2,3,4,5,6))
val result = rdd.filter(
item => item % 2 ==0
)
result.collect().foreach(println)
sc.stop()
}
}
运行这段代码,观察控制台输出结果
案例二,从日志文件中过滤出2015年5月17的数据
日志文件内容如下:
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object Filter_Test {
def main(args: Array[String]): Unit = {
val sparkConf = new SparkConf().setMaster("local[*]").setAppName("Operator")
val sc = new SparkContext(sparkConf)
val rdd: RDD[String] = sc.textFile("E:\\code-self\\spi\\datas\\apache.log")
rdd.filter(
line =>{
val datas = line.split(" ")
val time = datas(3)
time.contains("17/05/2015")
}
).collect().foreach(println)
sc.stop()
}
}
运行上面的代码,观察控制台输出结果,
版权声明
本文为[逆风飞翔的小叔]所创,转载请带上原文链接,感谢
https://blog.csdn.net/congge_study/article/details/124355911
边栏推荐
- What if the package cannot be found
- Calculate the number of occurrences of a character
- Open source project recommendation: 3D point cloud processing software paraview, based on QT and VTK
- MySQL集群模式與應用場景
- PHP 的运算符
- 多生成树MSTP的配置
- 山寨版归并【上】
- 【开源工具分享】单片机调试助手(示波/改值/日志) - LinkScope
- Neodynamic Barcode Professional for WPF V11.0
- Modèle de Cluster MySQL et scénario d'application
猜你喜欢
MySQL集群模式與應用場景
基于 TiDB 的 Apache APISIX 高可用配置中心的最佳实践
Recommended search common evaluation indicators
MySQL optimistic lock to solve concurrency conflict
cadence SPB17. 4 - Active Class and Subclass
使用 Bitnami PostgreSQL Docker 镜像快速设置流复制集群
pgpool-II 4.3 中文手册 - 入门教程
网站压测工具Apache-ab,webbench,Apache-Jemeter
网站建设与管理的基本概念
c语言---字符串+内存函数
随机推荐
Go language slice, range, set
一刷313-剑指 Offer 06. 从尾到头打印链表(e)
pywintypes. com_ Error: (- 2147221020, 'invalid syntax', none, none)
Connect PHP to MSSQL via PDO ODBC
导入地址表分析(根据库文件名求出:导入函数数量、函数序号、函数名称)
PHP classes and objects
控制结构(一)
新动态:SmartMesh和MeshBox的合作新动向
Calculate the number of occurrences of a character
Go并发和通道
携号转网最大赢家是中国电信,为何人们嫌弃中国移动和中国联通?
Today's sleep quality record 76 points
What if the package cannot be found
API IX JWT auth plug-in has an error. Risk announcement of information disclosure in response (cve-2022-29266)
CAP定理
Explanation of redis database (IV) master-slave replication, sentinel and cluster
提取不重复的整数
Go concurrency and channel
[backtrader source code analysis 18] Yahoo Py code comments and analysis (boring, interested in the code, you can refer to)
Neodynamic Barcode Professional for WPF V11.0