spark简单API入门

在Spark 2.0之前,Spark的主要编程接口是弹性分布式数据集(RDD)。在Spark 2.0之后,RDD被数据集取代,数据集类似于RDD一样强类型,但在底层有更丰富的优化。

Spark的shell用来学习API

启动命令:

./bin/spark-shell

Spark的主要抽象是一个名为Dataset的分布式项目集合。可以从HDFS或通过转换其他数据集来创建数据集。

例如:让我们从README文件的文本中创建一个新的数据集

scala> val textFile = spark.read.textFile("README.md")
textFile: org.apache.spark.sql.Dataset[String] = [value: string]

可以通过调用某些操作直接从Dataset获取值,或者转换数据集以获取新值。

scala> textFile.count() // 这个Dataset的总数
res0: Long = 126 // May be different from yours as README.md will change over time, similar to other outputs

scala> textFile.first() // Dataset的first item
res1: String = # Apache Spark

将这个数据集转换为新数据集。调用filter返回一个新的数据集。

scala> val linesWithSpark = textFile.filter(line => line.contains("Spark"))
linesWithSpark: org.apache.spark.sql.Dataset[String] = [value: string]

可以将转换和行动联系在一起:

scala> textFile.filter(line => line.contains("Spark")).count() // How many lines contain "Spark"?
res3: Long = 15

猜你喜欢

转载自blog.csdn.net/weixin_42201566/article/details/85698946