- Apache Spark 2.x for Java Developers
- Sourav Gulati Sumit Kumar
- 179字
- 2021-07-02 19:02:00
Creating and filtering RDD
Let's start by creating an RDD of strings:
scala>val stringRdd=sc.parallelize(Array("Java","Scala","Python","Ruby","JavaScript","Java"))
stringRdd: org.apache.spark.rdd.RDD[String] = ParallelCollectionRDD[0] at parallelize at <console>:24
Now, we will filter this RDD to keep only those strings that start with the letter J:
scala>valfilteredRdd = stringRdd.filter(s =>s.startsWith("J"))
filteredRdd: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[2] at filter at <console>:26
In the first chapter, we learnt that if an operation on RDD returns an RDD then it is a transformation, or else it is an action.
The output of the preceding command clearly shows that filter the operation returned an RDD so the filter is a transformation.
Now, we will run an action on filteredRdd to see it's elements. Let's run collect on the filteredRdd:
scala>val list = filteredRdd.collect
list: Array[String] = Array(Java, JavaScript, Java)
As per the output of the previous command, the collect operation returned an array of strings. So, it is an action.
Now, let's see the elements of the list variable:
scala> list
res5: Array[String] = Array(Java, JavaScript, Java)
We are left with only elements that start with J, which was our desired outcome:
推薦閱讀
- JSP網絡編程(學習筆記)
- WildFly:New Features
- 案例式C語言程序設計
- Learning Flask Framework
- Learning OpenCV 3 Computer Vision with Python(Second Edition)
- Multithreading in C# 5.0 Cookbook
- Python機器學習之金融風險管理
- 平面設計經典案例教程:CorelDRAW X6
- Get Your Hands Dirty on Clean Architecture
- After Effects CC案例設計與經典插件(視頻教學版)
- jQuery Mobile Web Development Essentials(Second Edition)
- 從零開始學算法:基于Python
- 匯編語言程序設計
- Java無難事:詳解Java編程核心思想與技術
- GitHub Essentials