基础
提供了一种来学习该
比较简单的方式,以及一个来分析数据交互的强大的工具。在
(运行于
虚拟机之上,并能很
Spark
shell
API
Scala
Java
好的调用已存在的
类库)或者
中它是可用的。通过在
目录中运行以下的命令来启动它 :
Java
Python
Spark
Scala
./bin/spark-shell
Spark
的主要抽象是一个称为弹性分布式数据集(
)的分布式的
集合。
可以从
的
(例如
文件)
RDD
item
RDD
Hadoop
InputFormats
HDFS
或者通过其它
的转换来创建。让我们从源目录中的
文件中的文本创建一个新的
RDD
README
RDD :
Scala
scala> val textFile = sc.textFile("README.md")
textFile: org.apache.spark.rdd.RDD[String] = README.md
MapPartitionsRDD[1] at textFile at <console>:25
RDD
有可以返回值的
(动作),还有可以返回指定的新
的
(转换)。让我们启动一个新的
(动作) :
actions
RDD
transformations
actions
Scala
scala> textFile.count() // RDD items
res0: Long = 126
scala> textFile.first() // RDD item
res1: String = # Apache Spark
现在让我们使用一个
(转换)。我们将使用
(转换)来返回一个新的
(文件中
的一个子集)
transformation
filter
transaction
RDD
item
。
Scala
scala> val linesWithSpark = textFile.filter(line =>
line.contains("Spark"))
linesWithSpark: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[2]
at filter at <console>:27
我们可以链式操作
(转换) 和
(动作)。
transformation
action
基础
提供了一种来学习该
比较简单的方式,以及一个来分析数据交互的强大的工具。在
(运行于
虚拟机之上,并能很
Spark
shell
API
Scala
Java
好的调用已存在的
类库)或者
中它是可用的。通过在
目录中运行以下的命令来启动它 :
Java
Python
Spark
Scala
./bin/spark-shell
Spark
的主要抽象是一个称为弹性分布式数据集(
)的分布式的
集合。
可以从
的
(例如
文件)
RDD
item
RDD
Hadoop
InputFormats
HDFS
或者通过其它
的转换来创建。让我们从源目录中的
文件中的文本创建一个新的
RDD
README
RDD :
Scala
scala> val textFile = sc.textFile("README.md")
textFile: org.apache.spark.rdd.RDD[String] = README.md
MapPartitionsRDD[1] at textFile at <console>:25
RDD
有可以返回值的
(动作),还有可以返回指定的新
的
(转换)。让我们启动一个新的
(动作) :
actions
RDD
transformations
actions
Scala
scala> textFile.count() // RDD items
res0: Long = 126
scala> textFile.first() // RDD item
res1: String = # Apache Spark
现在让我们使用一个
(转换)。我们将使用
(转换)来返回一个新的
(文件中
的一个子集)
transformation
filter
transaction
RDD
item
。
Scala
scala> val linesWithSpark = textFile.filter(line =>
line.contains("Spark"))
linesWithSpark: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[2]
at filter at <console>:27
我们可以链式操作
(转换) 和
(动作)。
transformation
action
ApacheCN - Apache Spark 2.0.2 中文文档 - v0.1.0 - 加入我们
ApacheCN - Apache Spark 2.0.2 中文文档 - v0.1.0 - 加入我们
我们可以链式操作
(转换) 和
(动作)。
transformation
action
Scala
scala> textFile.filter(line => line.contains("Spark")).count() // How
many lines contain "Spark"?
res3: Long = 15
更多 RDD 上的操作